我在我构建的java项目中使用静态方法,以对localhost mysql db进行查询。
类似的东西:
public static void sqlQuery() {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(localhost,root,password);
stmt = conn.prepareStatement(Some SQL);
rs = stmt.executeQuery();
} catch(Exception e) {
// Error Handling
} finally {
try { if (rs != null) rs.close(); } catch (Exception e) {};
try { if (stmt != null) stmt.close(); } catch (Exception e) {};
try { if (conn != null) conn.close(); } catch (Exception e) {};
}
}
我的问题是,如果我可以保留conn变量而不关闭它,并再次将其重新用于另一个查询。
没有其他应用程序使用此数据库,我只需要1个连接就能做到这一点..
P.S。抱歉我的英文不好..
答案 0 :(得分:1)
您可以在同一上下文中重用连接。更改上下文后,应关闭以前的连接并重新打开另一个连接。
答案 1 :(得分:0)
您应该始终关闭JDBC连接等资源。如果您不关闭它们,它会创建一个resource leak,这可能会降低您的计划速度。
答案 2 :(得分:0)
连接不是线程安全的,因此只使用一个连接就会充满危险。您应该使用连接池,为每个逻辑活动提供新的逻辑连接。
答案 3 :(得分:0)
始终建议关闭连接,因为它不是线程安全的。也不建议将连接对象保持为单例。