展开全部
这样写不对,因为除了 Statement,还有 Connection 也需要关闭。另外,关闭应该全部要在 finally 里面关闭,因为程序里e69da5e6ba9062616964757a686964616f31333332623335面可以发生任何意想不到的事,会在程序执行某一行之前就出错,所以,只有 finally 才会一定被执行到。
正确写法:
Connection conn = null;
PreparedStatement ps = null;
try{
conn = ...................................;
ps = conn..............................; //初始化在这里面就不写了。
.....
ps.executeUpdate();
}catch(Throwable ex) {
ex.printStackTrace();
}finally{
//你可以把 finally 里面出现的这一段写在一个公共方法,也可以不写成公共方法,
//但是,注意所有 close 还需要加一个 try catch 以及 =null 设置
if(ps != null) {
try{
ps.close();
}catch(Throwable ex) {
}
ps = null;
}
if(conn != null) {
try{
conn.close();
}catch(Throwable ex) {
}
conn = null;
}
}
本文介绍在使用Java进行数据库操作时,如何正确地关闭Connection和PreparedStatement等资源,避免内存泄漏等问题。强调了关闭操作应放在finally块中,并给出了具体的实现代码。
696

被折叠的 条评论
为什么被折叠?



