2016-06-10 100 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