java - 如何编写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);
}
解决方案
您需要在finally
块中执行此操作,以便无论操作是否成功(抛出异常)都会执行:
connection.close();
或者更容易使用try-with-resources。然后写:
try (Connection connection = DriverManager.getConnection(f, "coffee", "1234")) {
...
}
这样您就不必担心关闭资源。
推荐阅读
- mongodb - 蒙哥数据库。通过嵌套键查找文档并在文档中切片另一个键。我使用 GraphQl Apollo 服务器来处理与 db 的通信
- python - 无法正确找到列表中的子列表数量
- javascript - 具有复杂名称的全局变量与用于搜索的输入字段之间的真正区别是什么?
- python - 如何在 discord.py 的某个频道中嵌入用户加入?
- python - 如何将数据框列映射到列表字典?
- java - 如何在公共 LocationCallback 函数中不断更改 xml 元素?- 安卓
- python - 如何使用 Python 在 Firebase 查询中使用 start_at() 和 end_at()?
- javascript - 文本悬停到具有多列的图像并在中心固定图像 - 鼠标悬停
- python - (discord py) 我无法访问服务器
- javascript - 使用javascript以慢速方式向下滚动的问题