2015-10-29 27 views
2

對於DBMS我很綠,我需要編寫一個使用JDBC與Java數據庫文件交互的Java程序。我想知道是否更好的做法,甚至有可能在main中初始化Connection並根據需要將它傳遞給每個方法(在程序運行後關閉它),或者打開和關閉每個單獨方法中的新連接。可以/應該將Connection對象傳遞給函數嗎?

對不起,如果這是一個重複的問題,但我沒有發現任何問題/答案是確鑿的。

回答

0

打開連接需要相當長的時間。如果沒有特殊的理由關閉它,你應該通過你的程序使用相同的連接。

甚至有一種稱爲connection pooling的特殊技術,它允許在大型應用程序中重新使用開放式連接,從而提高性能。

+0

嗯,我不太瞭解數據庫訪問,所以我不知道「特殊原因」可能是什麼樣子。 – PeterSon

+0

一個特殊的原因可能是,例如,連接錯誤或數據庫關閉。 – user5500105

+0

嘿,猜猜我只會打開並關閉它一次,因爲它不像這個程序將永遠在野外使用。非常感謝 – PeterSon

0

我認爲創建單個連接對象是一種最好的方式,因爲您正在減少用於創建和垃圾收集對象的JVM的開銷。 (使用try-with-resource,它會自動關閉連接對象)