[英]prepared statements sharing connection
有一個示例顯示使用事務:
con.setAutoCommit(false);
updateSales = con.prepareStatement(updateString);
updateTotal = con.prepareStatement(updateStatement);
...
con.commit();
...
finally
updateSales close
updateTotal close
如果我想將兩個准備好的語句移到共享一個連接/事務的單獨方法中,每個方法都從父方法調用,則我看不到如何處理關閉准備好的語句,因為父方法會先打開連接然后再提交。
parentmethod:
con.setAutoCommit(false)
method1(con)
method2(con)
con.commit()
無需照此設計。 感覺很合理,可以分開更新。
為什么不將PreparedStatement
的范圍設置為類級別? 然后,父方法可以有一個finally塊,該塊關閉子方法可能已經打開的所有資源。
這仍然不是最佳解決方案(通常,您希望使用與打開資源相同的方法來關閉資源)。
我認為,一種優雅的方法是將PreparedStatement
調用與其他資源一起保留在父級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.