当前位置: 首页 > 知识库问答 >
问题:

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

符修杰
2023-03-14

我的问题与这一声明有关:

立即释放此语句对象的数据库和JDBC资源,而不是等到它自动关闭时才释放。http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#close()

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

共有3个答案

汪臻
2023-03-14

当创建它的连接关闭时,它将关闭。

徐文斌
2023-03-14

您可以使用try with resources语句自动关闭java。sql。连接,java。sql。语句和java。sql。ResultSet对象,无论是否引发了SQLException或任何其他异常。try with resources语句由try语句和一个或多个声明的资源(用分号分隔)组成。来源:使用try with resources语句自动关闭JDBC资源

以下语句是try with resources语句,它声明了一个资源stmt,当try块终止时,该资源将自动关闭:

try (Statement stmt = con.createStatement()) {

  // ...

}
邢和光
2023-03-14

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

  • 连接关闭时语句关闭

JDBC 4.1(Java7)增加了以下内容:

  • 如果调用了closeOnCompletion(),并且从该语句创建的结果集已读取到最后一行之外(并且该读取是在启用closeOnCompletion之后发生的),则该语句将关闭

我不认为“try-with-资源”会自动关闭连接,而是“只是”try...最后的语法糖。

 类似资料:
  • 问题内容: 该函数将与关联的终结器设置为。 默认情况下会终结哪种对象? 默认情况下终结那些对象会导致哪些意外陷阱? 问题答案: 默认情况下,完成以下对象: os。File:当对象被垃圾回收时,文件自动关闭。 os。流程:完成将释放与流程相关的任何资源。在Unix上,这是空操作。在Windows上,它关闭与进程关联的句柄。 在Windows上,程序包似乎可以自动关闭网络连接。 除了上述对象之外,Go

  • 远程类加载是指加载未在执行位置显示的类。 例如,JavaApplet需要将类从服务器加载到本地并在本地执行。 一些包含URLClassLoader的程序需要从网络加载类,并在本地执行。 RMI怎么样?我找到了一个名为RMIClassLoader的类?是远程类加载吗?

  • 问题内容: 我正在使用Hibernate 4.0.1.Final。如果该对象已通过org.hibernate.Session.load(Class clazz,Serializable id)方法加载并且没有活动的会话,是否可以访问该对象的字段? 我使用此代码通过id访问对象… 但是如果我的对象没有活动的会话,例如这段代码…… 我在“ System.out”行上收到此错误… 问题答案: 使用代替

  • 在哪种情况下会发生这种情况?

  • 所以基本上我有一个学校的项目,它包含一个time循环中的开关语句。 假设我输入“1”,它在大小写“1”中运行代码。然后它应该在之后中断。但默认代码也总是运行。 这是案例“1”代码: 这是默认代码: 以下是输出: 我很有信心我的代码是正确的,但是如果我缺少什么,请告诉我如何修复它,谢谢。

  • 本文向大家介绍vue边界情况有哪些?相关面试题,主要包含被问及vue边界情况有哪些?时的应答技巧和注意事项,需要的朋友参考一下 @Yanhua67 https://cn.vuejs.org/v2/guide/components-edge-cases.html