2016-04-03 9 views
-1

Ich muss meine Verbindung zu CarDAO Klasse senden. Ich habe getMyConn Getter dafür erstellt, aber es tippt mich "myConn kann nicht in eine Variable aufgelöst werden". Wie könnte ich Getter dafür erstellen?Java - MySQL Verbindung getter

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

Bei welcher Zeile erhalten Sie diesen Fehler? –

Antwort

0

Einfach myConn außerhalb des Konstruktor es ein Attribut des Objekts erzeugt werden.

Connection myConn; 

Dann im Konstruktor

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 
} 

Auch die Initialisierung der Verbindung im Konstruktor wird nicht empfohlen. Sie können eine Singleton-Klasse verwenden, um bei Bedarf die Verbindung herzustellen.

+0

Danke, es funktioniert jetzt. – Lenob