【发布时间】:2018-04-09 12:04:39
【问题描述】:
我已经阅读了许多帖子,其中人们说在java 中关闭连接会关闭resultset、声明等,但我没有找到我问题的答案。
我问我不是在做 Con.close() 但我在做rst.close() 所以它会关闭连接吗?
所以我只想知道当我们关闭ResultSet 时连接是否会关闭?
【问题讨论】:
-
我不这么认为
-
我读过同一篇文章,但它并没有说明我在问什么
-
是什么让你认为它做到了?您阅读过文档吗? ---
ResultSet.close():当 Statement 对象关闭时,生成它的 Statement 对象会自动关闭 ResultSet 对象 ---Statement.close():当 Statement 对象关闭时,它当前的 ResultSet 对象(如果存在)也已关闭。 --- 两者都说 Statement 关闭了 ResultSet,而不是相反,那么您为什么会这样认为呢? -
@Andreas 您可能想查看 JDBC 4.1 的
Statement.closeOnCompletion,如果明确要求,关闭ResultSet可以关闭Statement。但这并没有扩展到Connection。 -
@MarkRotteveel “如果明确要求”。如果您编写代码专门要求关闭
ResultSet将关闭Statement,那么您(即OP)为什么要问它是否这样做。你已经知道了。