首页 > 解决方案 > 如何编写java关闭连接?

问题描述

我有超过 2 个使用 try-catch 分别实现连接的类,但是当我尝试在 main 中关闭连接时它不起作用,因为它在 try-catch 中有一个范围。我的问题是如何在使用 try-catch 块时关闭连接?

这是我的一门课程的代码

String query="INSERT INTO branch (branch_Num , Street, Nieghbourhood,city) VALUES (?, ?,?, ?)";

try{
    PreparedStatement ps;
    String f="jdbc:derby://localhost:1527/coffeeZone";
    connection = DriverManager.getConnection(f, "coffee", "1234"); 
    ps=connection.prepareStatement(query);
    ps.setString(1, bno);
    ps.setString(2, strt);
    ps.setString(3, nbh);
    ps.setString(4, ci);
    if (ps.executeUpdate()>0){
        JOptionPane.showMessageDialog(null, "Complete! a new branch is added !");
    }else
    {
        JOptionPane.showMessageDialog(null, "");
    }       
 } catch (SQLException ex) {
    JOptionPane.showMessageDialog(null,ex);
 }                                       

标签: javasqldatabasejdbctry-catch

解决方案


您需要在finally块中执行此操作,以便无论操作是否成功(抛出异常)都会执行:

connection.close();

或者更容易使用try-with-resources。然后写:

try (Connection connection = DriverManager.getConnection(f, "coffee", "1234")) {
    ...
}

这样您就不必担心关闭资源。


推荐阅读