2012-04-14 29 views
0

是否有可能返回Connection類型? 並將其用作通過該程序引用的方法? 我發現它使數據庫交互更容易,如果它作爲一種方法傳遞。從JDBC返回連接到Java的主要方法?

public static Connection database(String database, String username, String password) { 
     String url = "jdbc:postgresql:" + database; 

     //LOAD DRIVER 
     try { 
      Class.forName("org.postgresql.Driver"); 
     } 
     catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     }   

     //CONNECT TO DATABASE 
     try { 
      Connection conn = DriverManager.getConnection(url, username, password); 
      return conn; 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return null;    
} 

public static void main(String[] args) { 

    db = database("java_jdbc", "admin", "fake_password_1234");  
} 
+1

當你嘗試過時發生了什麼? – EJP 2012-04-15 01:00:10

回答

2

你可以這樣做。

只要記得在連接上調用close()以在完成時釋放其資源。

+0

請您查看我發佈的代碼,因爲它沒有連接數據類型?也許我應該導入它? – Aaron 2012-04-14 23:14:17

+1

@Aaron你在主要方法中缺少'java.sql.Connection db' – 2012-04-14 23:15:08

0
package mySystem; 

import java.sql.*; 
import javax.swing.*; 

public class MySqlConnector { 

    Connection conn = null; 

    public static Connection ConnectDB() { 

     try { 
      Class.forName("com.mysql.jdbc.Driver"); //register jdbc driver 
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/inventory_db", "root", ""); 
      // JOptionPane.showMessageDialog(null, "Connected to db"); 
      return conn; 

     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, e); 
      return null; 
     } 

    } 

}