2010-03-07 68 views
1

我已經通過在網上的幾個例子跑了持久連接,發現每一次我需要的東西,從數據庫中,我應該寫下面的代碼:建立一個數據庫中的Java

try 
{ 
    // Step 1: Load the JDBC driver. 
    Class.forName("mysql_driver_name"); 
    // Step 2: Establish the connection to the database. 
    String url = "jdbc:string_to_mysql_server"; 
    Connection conn = DriverManager.getConnection(url,"user1","password"); 

    // fetch from the DB ... 

} 
catch (Exception e) 
{ 
    System.err.println("Got an exception! "); 
    System.err.println(e.getMessage()); 
} 

這是每次我想從數據庫中獲得一些東西時,都非常煩人,所以問題是 - 是否有辦法通過只有一次將我的所有應用程序以某種方式完全連接到數據庫,避免複製粘貼代碼,然後就可以用來做我想要的一切嗎?

我已經快速瀏覽了NetBeans的Project菜單,但沒有找到關於如何將持久連接配置爲選定數據庫的任何線索。

如果它很重要,我正在編寫一個純粹的桌面應用程序,即使用Java SE。另外,值得一提的是,我是一名Java初學者。

+0

你真的是想詢問一個可重複使用的數據庫連接,而不是一個持久的數據庫連接。一個真正的持久數據庫連接(DB連接本身存儲在數據庫中)會......呃......很難實現。 – 2010-03-07 10:08:02

回答

1

連接池的想法可能是最好的總體解決方案。然而在ypur案件中有一個更簡單的例子。

在你的代碼中,conn超出了它創建的方法的範圍。沒有必要這樣做。您可以創建一個包含所有代碼的方法,包括分配給conn的行。然後將該conn變量傳遞給程序的其他部分並將其用於db工作。

0

您可以按照建立Conenction

  1. 創建一個單獨的類,它可以幫助您創建連接
  2. 在你的DAO或任何幫助類,調用該單一實例,它具有的這種方法連接
  3. 一旦獲得了Conenction,就可以在數據庫中編寫要執行的操作。
  4. 關閉連接,完成填充連接。

這將避免代碼,您在查詢中寫入的內容。 ,這種風格會增加可讀性並降低可維護性。

如果你想要的任何示例代碼讓我知道,我可以提供你