2016-06-10 84 views
0

步驟隨後錯誤,同時運行JDBC

  • MySQL工作臺安裝
  • 連接器-J下載並解壓到MySQL文件夾中的程序文​​件 複製

    import java.sql.*; 
    public class FirstExample { 
    // JDBC driver name and database URL 
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost/EMP"; 
    
    // Database credentials 
    static final String USER = "username"; 
    static final String PASS = "password"; 
    
    public static void main(String[] args) { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
        //STEP 2: Register JDBC driver 
        Class.forName("com.mysql.jdbc.Driver"); 
    
        //STEP 3: Open a connection 
        System.out.println("Connecting to database..."); 
        conn = DriverManager.getConnection(DB_URL,USER,PASS); 
    
        //STEP 4: Execute a query 
        System.out.println("Creating statement..."); 
        stmt = conn.createStatement(); 
        String sql; 
        sql = "SELECT id, first, last, age FROM Employees"; 
        ResultSet rs = stmt.executeQuery(sql); 
    
        //STEP 5: Extract data from result set 
        while(rs.next()){ 
         //Retrieve by column name 
         int id = rs.getInt("id"); 
         int age = rs.getInt("age"); 
         String first = rs.getString("first"); 
         String last = rs.getString("last"); 
    
         //Display values 
         System.out.print("ID: " + id); 
         System.out.print(", Age: " + age); 
         System.out.print(", First: " + first); 
         System.out.println(", Last: " + last); 
        } 
         //STEP 6: Clean-up environment 
        rs.close(); 
        stmt.close(); 
        conn.close(); 
    }catch(SQLException se){ 
        //Handle errors for JDBC 
        se.printStackTrace(); 
    }catch(Exception e){ 
        //Handle errors for Class.forName 
        e.printStackTrace(); 
    }finally{ 
        //finally block used to close resources 
         try{ 
         if(stmt!=null) 
         stmt.close(); 
        }catch(SQLException se2){ 
        }// nothing we can do 
        try{ 
         if(conn!=null) 
         conn.close(); 
        }catch(SQLException se){ 
         se.printStackTrace(); 
        }//end finally try 
    }//end try 
        System.out.println("Goodbye!"); 
        }//end main 
        }//end FirstExample 
    

此代碼到新項目在日食。 當我運行它發生在我這個錯誤

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at FirstExample.main(FirstExample.java:17) 
    Goodbye! 

然後嘗試這個cmd命令

set classpath=C:\Program Files\MySQL\mysql-connector-java-3.1.14\mysql- 
connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar; 

還是同樣的錯誤 做什麼,請給一些解釋你的有價值的解決方案一起 感謝

回答

0

添加下面的依賴在你pom.xml

<!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java --> 
<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.6</version> 
</dependency> 

如果您不使用maven,則將此罐子com.mysql.jdbc_5.1.5.jar添加到您的eclipse build path rightclick on project--> build path-->configure build path-->libraries-->add external jar

+0

完美!它的工作感謝@subbu皇家 –

+0

@arunkumar很高興聽到這一點。 –

0

您必須將JDBC連接器jar文件複製到項目的庫文件夾中

或服務器

兩個工作正常的庫文件夾...

運行變量沒有這兩個位置得到它

+0

如果您還沒有得到該做什麼,請回復我這些詳細信息。 1.您正在使用哪種工具進行開發(編輯器,例如eclipse或netbeans)。 2.你正在使用哪個服務器(例如tomcat或Glassfish)。 –

+0

複製單個jar文件'mysql server 5.7/lib'文件夾。同樣的錯誤發生。我不得不設置路徑或東西 –

+0

不,不在sql服務器的lib中,而是將其複製到項目lib或服務器(WebServer/Apache)lib –

0

您的類路徑包含一個空格,因此java.exe將不會正確拾取它。
使用脫字符^逃脫的空間:(!並仔細檢查該路徑是正確的)

set classpath=C:\Program^ Files\MySQL\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar; 

+0

謝謝,我累了,同樣的錯誤再次指向ClassNotFoundException。路徑也是正確的。 @wero –

+0

親愛的@wero,爲什麼它在'Class.forName(「com.mysql.jdbc.Driver」);' –

+0

@Arunkumar指向異常,因爲這條線路失敗。 Java嘗試加載類「com.mysql.jdbc.Driver」,但它無法在類路徑中找到它,因爲'mysql-connector-java-3.1.14-bin.jar'不是類路徑的一部分 – wero