2012-02-17 67 views

回答

1

我從來沒有做任何事情ResultSet除了通過它,映射到對象或數據結構,並關閉它。如果我想插入,我用PreparedStatement來做。我的ResultSets從不停留足夠長的時間來修改。我更喜歡保持持久化操作的簡短,以便儘快關閉連接。我認爲這種方法可以更好地擴展,因爲多個用戶以這種方式共享池式連接更容易。

+0

感謝您的快速回答@duffymo。你很對,ResultSets肯定很難跟蹤和管理,這是他們最大的缺點之一。 – 2012-02-17 12:48:15

+0

如果將它們保留在單個方法的範圍內,則跟蹤更容易:創建它們,繪製數據並在finally塊中關閉它們。你不會那樣泄漏資源。 SQL工件不應該泄漏到持久層之外。 – duffymo 2012-02-17 12:49:25

+0

這是非常真實的,但我的意思是,如果我碰巧忘記了一個開放的ResultSet,那麼很難找到它來關閉它,尤其是如果應用程序非常大。到目前爲止,我還沒有發現任何合理的方法來追蹤開放的ResultSet。 – 2012-02-17 12:58:19