2016-04-03 50 views
-1

我需要將我的連接發送到CarDAO類。我爲此創建了getMyConn getter,但它會輸入「myConn無法解析爲變量」。我怎麼能爲此創建getter?Java - MySQL連接獲取器

public class ConnectionDB { 
    public ConnectionDB() { 

     String dbHost="localhost"; 
     String dbDatabase="cars"; 
     String dbUser = "root"; 
     String dbPassword = ""; 
     String connectionUrl = "jdbc:mysql://" + dbHost 
       + "/" + dbDatabase 
       + "?user=" + dbUser 
       + "&password=" + dbPassword; 
     try{ 
     // 1. Get a connection do database 
     Connection myConn = DriverManager.getConnection(connectionUrl); 
     // 2. Create a statement 
     Statement myStmt = myConn.createStatement(); 
     // 3. Execute SQL query 
     String sql = ""; 
     //int rowsAffected = myStmt.executeUpdate(sql); 
     //System.out.println("Rows affected " + rowsAffected); 
     // 4. Process the result set 
     } 
     catch(Exception exc) { 
      exc.printStackTrace(); 
     } 
    } 
    public Connection getMyConn(){ 
     return myConn; 
    } 
} 
+0

您在哪一行發生此錯誤? –

回答

0

只要把的myconn使其成爲對象的屬性的構造函數外。

Connection myConn; 

然後,在構造函數中,

try{ 
    // 1. Get a connection do database 
    myConn = DriverManager.getConnection(connectionUrl); 
    // 2. Create a statement 
    Statement myStmt = myConn.createStatement(); 
    // 3. Execute SQL query 
    String sql = ""; 
    //int rowsAffected = myStmt.executeUpdate(sql); 
    //System.out.println("Rows affected " + rowsAffected); 
    // 4. Process the result set 
} 

另外,不建議在初始化在構造函數中的連接。您可以在需要時使用單例類來獲取連接。

+0

謝謝,它現在有效。 – Lenob