Code Bye

jdbc关闭连接对象conn会自动关闭stat与rs吗?

 

jdbc中关闭了连接对象conn后,会自动关闭语句对象stat或rs吗?
还是两者都会自动关闭还是两者都不会自动关闭?    
就是只写
conn.close();
不写 stat.close(); rs.close();可以吗?
谁给个权威的解答???


1分
会自动关闭
statement关闭后,由它产生的resultset自动关闭
同理,connection关闭后,statement,resultset都关闭

这个楼主可以写个简单的方法试试就知道了

关闭数据库资源的话,建议还是由小到大一级一级的关
先关闭resultset,再关闭statement,最后关闭connection

Java7里的try(表达式)已经解决这个问题了吧,不用担心是否关闭的问题了呢;
不知道,1楼说行,不过我用jdbc的话,还是自己关,感觉性能上会高些。

10分
还是一级一级关闭好,万一忘了关了,时间一长,电脑会越来越慢的
会自动关闭,不过为了性能考虑,就手动关了

15分

给你看jdbc源码,我截取的是QueryRunner的query方法的源码,他自己有关闭的,所以在代码中只管调用就行了

40分
最好statement 和 result set都手动关闭,例如使用连接池的时候,connection.close()并不是关闭连接,只是把连接返回连接池,这个时候如果你还是认为connection.close()后statement 和 result set都自动关闭就悲剧了,为了不要养成不好的习惯,推荐逐级关闭。
会自己关闭的。
java7虽然有这个功能了,但还是建议你自己一级级关,做程序员的,什么情况都要考虑
会自动关闭,不过建议还是手动关

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jdbc关闭连接对象conn会自动关闭stat与rs吗?