Java closeOnCompletion不';在MySQL JDBC 5.1.32中不能正常工作

Java closeOnCompletion不';在MySQL JDBC 5.1.32中不能正常工作,java,mysql,jdbc,Java,Mysql,Jdbc,我有这样一个片段: Statement statement = connection.createStatement(); ResultSet rs = statement.executeQuery("SELECT * FROM table_A"); statement.closeOnCompletion(); System.out.println(statement.isCloseOnCompletion()); rs.close(); System.out.println(stateme

我有这样一个片段:

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后,我希望语句被关闭,因为它的结果集是关闭的。但是,在检查语句.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。

您不必在
.executeQuery()
之前调用
.closeOnCompletion()
?对不起,我在实际代码中检查结果时犯了错误。当checkin语句.isClosed()时,它实际上显示“true”