Error while running jdbc

时间:2016-06-10 16:09:56

标签: java mysql eclipse jdbc classpath

Steps followed

  • mysql workbench installation
  • Connector-J download and extract to Mysql folder in program files Copied

    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
    

This code to new project in eclipse. When I run it this error occurred to me

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! 

Then tried this cmd command

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;

Still the same error what to do, please give some explanation along with your valuable solution thanks

3 个答案:

答案 0 :(得分:0)

You will have to copy the JDBC connector jar file into library folder of your project

or in library folder of server

Both works fine...

Runtime variables are not getting it from these two locations

答案 1 :(得分: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,请将此jar com.mysql.jdbc_5.1.5.jar添加到eclipse build path rightclick on project--> build path-->configure build path-->libraries-->add external jar

答案 2 :(得分: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;

(并仔细检查路径是否正确!)。