2016-04-03 43 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