簡體   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