找不到 jdbc 驱动程序?
Can't find jdbc driver?
我已经开始学习如何将 MySQL 数据库连接到 Java。由于我完全是初学者,所以我一直在寻找最基本的指南并找到了 this 。
它看起来很简单,很容易理解并且很有帮助。
但是当我 运行 该代码显示错误并且 table 是空的。 :(
代码:
import java.sql.*;
import java.util.Calendar;
public class DatabaseClass {
public static void main(String args[]){
try{
String myDriver = "org.gjt.mm.mysql.Driver";
String myUrl = "jdbc:mysql://localhost/test";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "admin");
Calendar calen = Calendar.getInstance();
java.sql.Date startDate = new java.sql.Date(calen.getTime().getTime());
String query = "insert into users (first_name, last_name, date_created, is_admin, num_points)"
+ " values(?,?,?,?,?)";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString(1, "Name");
preparedStmt.setString(2, "LName");
preparedStmt.setDate(3, startDate);
preparedStmt.setBoolean(4, false);
preparedStmt.setInt(5, 5000);
preparedStmt.execute();
conn.close();
}catch(Exception e){
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
}
错误:
run:
Got an exception!
org.gjt.mm.mysql.Driver
BUILD SUCCESSFUL (total time: 0 seconds)
我安装的任何驱动程序都会发生同样的事情。
可能是我知识不够,可能问题不大,但当你是新手时,它看起来像第一世界的问题 D:
堆栈跟踪:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:191)
at Sranje.DatabaseClass.main(DatabaseClass.java:14)
- 已调用数据库 'test'
- 在测试中有 table 称为 'users'(具有指定的字段)
- 使用 MySQL 5.6 命令行客户端
- 在 NetBeans 8.0.2 中构建的代码
您应该将带有 MySQL 驱动程序的文件放入 NetBeans 中的 class 路径,以便 IDE 知道您要加载的驱动程序 class。
另一件事是一个奇怪的驱动程序名称org.gjt.mm.mysql.Driver
,通常是com.mysql.jdbc.Driver
。请尝试使用 com.mysql.jdbc.Driver
驱动程序名称并将 mysql-connector jar 放入您的 class 路径中。您可以在 MySQL JDBC 连接器 JAR 中找到驱动程序,您可以在此处下载:
http://dev.mysql.com/downloads/connector/j/
另外我建议你在你的catch中写上e.printStackTrace()
,这样你总能知道哪里出了问题。
我已经开始学习如何将 MySQL 数据库连接到 Java。由于我完全是初学者,所以我一直在寻找最基本的指南并找到了 this 。 它看起来很简单,很容易理解并且很有帮助。
但是当我 运行 该代码显示错误并且 table 是空的。 :(
代码:
import java.sql.*;
import java.util.Calendar;
public class DatabaseClass {
public static void main(String args[]){
try{
String myDriver = "org.gjt.mm.mysql.Driver";
String myUrl = "jdbc:mysql://localhost/test";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "admin");
Calendar calen = Calendar.getInstance();
java.sql.Date startDate = new java.sql.Date(calen.getTime().getTime());
String query = "insert into users (first_name, last_name, date_created, is_admin, num_points)"
+ " values(?,?,?,?,?)";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString(1, "Name");
preparedStmt.setString(2, "LName");
preparedStmt.setDate(3, startDate);
preparedStmt.setBoolean(4, false);
preparedStmt.setInt(5, 5000);
preparedStmt.execute();
conn.close();
}catch(Exception e){
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
}
错误:
run:
Got an exception!
org.gjt.mm.mysql.Driver
BUILD SUCCESSFUL (total time: 0 seconds)
我安装的任何驱动程序都会发生同样的事情。
可能是我知识不够,可能问题不大,但当你是新手时,它看起来像第一世界的问题 D:
堆栈跟踪:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:191)
at Sranje.DatabaseClass.main(DatabaseClass.java:14)
- 已调用数据库 'test'
- 在测试中有 table 称为 'users'(具有指定的字段)
- 使用 MySQL 5.6 命令行客户端
- 在 NetBeans 8.0.2 中构建的代码
您应该将带有 MySQL 驱动程序的文件放入 NetBeans 中的 class 路径,以便 IDE 知道您要加载的驱动程序 class。
另一件事是一个奇怪的驱动程序名称org.gjt.mm.mysql.Driver
,通常是com.mysql.jdbc.Driver
。请尝试使用 com.mysql.jdbc.Driver
驱动程序名称并将 mysql-connector jar 放入您的 class 路径中。您可以在 MySQL JDBC 连接器 JAR 中找到驱动程序,您可以在此处下载:
http://dev.mysql.com/downloads/connector/j/
另外我建议你在你的catch中写上e.printStackTrace()
,这样你总能知道哪里出了问题。