簡體   English   中英

JDBC的各種連接

[英]JDBC kinds of connection

我正在使用Java和MySQL(用於連接DB的JDBC)創建用於圖書館管理的應用程序,但是我遇到了問題,我檢查了很多主題,書籍和網站,但找不到適合我的答案。 這是處理連接的好方法嗎? 我認為在這種情況下,整個應用程序的一個連接是一個不錯的選擇。 我的想法是,在每個類的每個函數中,當我需要使用Connection對象時,這些函數都需要一個連接參數。 在主類中我會打電話給經理對象“人”的榜樣,每一個構造等我會通過Man.getMyConn()為這個參數,並調用Man.close()時,主框架將被關閉。 這是個壞主意嗎? 也許我應該使用單例模式或連接池? 對不起,我的英語,我還在學習。

public class manager {
private Connection myConn;

public manager() throws Exception {


    Properties props = new Properties();
    props.load(new FileInputStream("app.properties"));

    String user = props.getProperty("user");
    String password = props.getProperty("password");
    String dburl = props.getProperty("dburl");


    myConn = DriverManager.getConnection(dburl, user, password);
    System.out.println("DB connection successful to: " + dburl);
}

public Connection getMyConn() {
    return myConn;
}
  //close class etc.
}

通常不會。 進一步的答案取決於應用程序的類型。 如果要制作Web應用程序,則絕對應該使用連接池。 如果您正在制作桌面應用程序(當時只有一個用戶可以訪問它),那么您可以根據每個請求打開和關閉連接。

我的工作應用程序可以按照您的方式進行。 正如@Branislav所說,如果要執行多個並發查詢,這是不夠的。 還存在與數據庫的連接可能丟失的危險,並且除非需要編寫代碼來捕獲並重新創建連接,否則您需要重新啟動應用程序以獲取新的應用程序。

使用單例會過於復雜。 擁有getConnection()方法(已完成)非常重要,因為這意味着您可以輕松地更改代碼以在以后需要時使用池。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM