繁体   English   中英

closeOnCompletion在MySQL JDBC 5.1.32中无法正常工作

[英]closeOnCompletion doesn't work properly in MySQL JDBC 5.1.32

我有一个这样的代码段:

Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM table_A");

statement.closeOnCompletion();
System.out.println(statement.isCloseOnCompletion());

rs.close();
System.out.println(statement.isClosed());

调用closeOnCompletion之后,由于该语句的结果集已关闭,我希望该语句将被关闭。 但是,它在检查statement.isClosed()时仅显示“ false”。

我误解了JDK文档吗? 就像它说的那样:closeOnCompletion()指定此语句在其所有从属结果集关闭时将被关闭。

==========================更新:原来是我的粗心。 最后一条语句实际上返回预期“ true”的结果。 所以这不再是问题

由于声明取决于结果,我建议这样做

Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM table_A");

rs.close();
statement.close();  
System.out.println(statement.isClosed());

如果您的最终希望是要关闭语句,那么这适用。如果您的问题是为什么即使调用onexit语句也没有关闭,则最好引用javadocs。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM