运行 jdbc 时出错
Error while running jdbc
遵循的步骤
- mysqlworkbench安装
Connector-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
此代码到eclipse 中的新项目。
当我 运行 它发生这个错误时
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;
还是一样的错误
该怎么做,请给出一些解释以及您宝贵的解决方案
谢谢
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
在您的 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
您的类路径包含 space,因此 java.exe
将无法正确拾取它。
使用脱字符 ^ 转义 space:
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;
(并仔细检查路径是否正确!)。
遵循的步骤
- mysqlworkbench安装
Connector-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
此代码到eclipse 中的新项目。 当我 运行 它发生这个错误时
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;
还是一样的错误 该怎么做,请给出一些解释以及您宝贵的解决方案 谢谢
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
在您的 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
您的类路径包含 space,因此 java.exe
将无法正确拾取它。
使用脱字符 ^ 转义 space:
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;
(并仔细检查路径是否正确!)。