[英]MySQL JDBC closeOnCompletion has no effect on PreparedStatement
[英]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.