java - SQL语句对象在哪些情况下会自动关闭?

标签 java sql jdbc

我的问题是关于这个声明:

Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed. http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#close%28%29

那么,Statement对象在哪些情况下会自动关闭呢?

最佳答案

对于 JDBC 4.0 及更早版本(Java 6 及更早版本):

  • 关闭连接时关闭语句

JDBC 4.1 (Java 7) 添加了以下内容:

  • 如果 closeOnCompletion() 被调用并且 从该语句创建的 ResultSet 已被读取超过最后一行(并且该读取发生在启用 closeOnCompletion 之后)

我不认为 'try-with-resources' 会自动关闭连接,但“只是”try ... finally 的语法糖。

关于java - SQL语句对象在哪些情况下会自动关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10630350/

相关文章:

java - 如何在java中创建反向 map ?

java - 内部编译器错误?

java - 为什么在java中嵌套抽象类

MySQL - 哈希分区不起作用

php - 将值添加到文件中的数组并保存

Java SQL 访问行数据

java - Android 设置权限没有发挥应有的作用

sql - PostgreSQL:根据列值转换列

java - JDBC 如何从具有多个值查询的单个插入中获取所有生成的键?

java - 项目 > 1000 的 SQL in 子句