是否有必要在localhost中关闭jdbc连接

时间:2016-05-27 01:43:56

标签: java mysql database jdbc

我在我构建的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。抱歉我的英文不好..

4 个答案:

答案 0 :(得分:1)

您可以在同一上下文中重用连接。更改上下文后,应关闭以前的连接并重新打开另一个连接。

答案 1 :(得分:0)

您应该始终关闭JDBC连接等资源。如果您不关闭它们,它会创建一个resource leak,这可能会降低您的计划速度。

答案 2 :(得分:0)

连接不是线程安全的,因此只使用一个连接就会充满危险。您应该使用连接池,为每个逻辑活动提供新的逻辑连接。

答案 3 :(得分:0)

始终建议关闭连接,因为它不是线程安全的。也不建议将连接对象保持为单例。