2017-01-24 33 views
0

我想在使用單個連接對象的單個函數中執行多個查詢。我想知道在這種情況下關閉數據庫連接的最佳做法是什麼。目前,我完成所有數據庫調用後關閉連接。我想知道是否需要關閉連接併爲每個數據庫調用打開一個新的連接。哪個更好?在同一函數內多次調用數據庫時關閉JDBC連接

+0

爲什麼你會覺得有必要創建/關閉每次調用數據庫的新連接?使用@Sean建議的內容更有意義,以便您可以使用每個事務的實例,該實例可以包含多個調用。 – px06

回答

1

您應該儘可能保持Connection的打開狀態。創建數據庫連接是一個(相對)昂貴的操作,因此您不需要經常更頻繁地進行操作。

要管理的一生中,你應該使用the try-with-resources statement假設你在至少Java的7:

try (Connection connection = myDataSource.getConnection()) { 
    // Do your queries here 
} 
+0

但是,它不會使用可用於其他數據庫調用的連接。 – KItis

+1

我不關注。如果你要在一行中運行多個查詢,你不應該在它們之間釋放「連接」。 –

+0

我並不完全同意,應該儘快關閉(邏輯)連接(即:當一個工作單元完成時);創建物理連接的費用應通過使用連接池進行補償。 –