【问题标题】:Does closing ResultSet closes Connection in java [duplicate]关闭ResultSet是否会关闭Java中的连接[重复]
【发布时间】: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)为什么要问它是否这样做。你已经知道了。

标签: java mysql jdbc


【解决方案1】:

一句话——没有。

关闭ResultSet 只会关闭与其关联的游标,因此您无法在其上调用next()。 Connection 对象不受影响,可用于执行新语句。

【讨论】:

  • 好的,谢谢。寻求帮助
  • 您可能想查看 JDBC 4.1 的 Statement.closeOnCompletion,如果明确要求,关闭 ResultSet 可以关闭 Statement。但这并没有扩展到Connection
猜你喜欢
  • 2012-07-12
  • 1970-01-01
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 2017-09-03
  • 2011-04-26
  • 1970-01-01
相关资源
最近更新 更多