2016-04-03 24 views
-1

私はCarDAOクラスに接続する必要があります。私はgetMyConn getterを作成しましたが、 "myConnは変数に解決できません"そのためのゲッターを作成するにはどうすればいいですか?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