找不到jdbc驱动程序? [英] Can't find jdbc driver?
问题描述
我已经开始学习如何将MySQL数据库与Java连接起来.而且由于我是初学者,因此我一直在寻找最基本的指南,并找到了此. 看起来很简单,很容易理解,也很有帮助.
I've started learning how to connect MySQL database with Java. And since I'm total beginner I was looking for the most basic guide and found this . It looks easy, quite understandable and helpful.
但是当我运行该代码时,它显示错误并且表为空. :(
But when i run that code it shows an error and the table is empty. :(
代码:
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)
我插入的任何驱动程序都会发生同样的事情.
Same thing happens with any driver I put in.
可能是我缺乏知识,这可能不是什么大问题,但是当您不熟悉它时,它就像是第一世界的问题D:
It's probably my lack of knowledge and it could be not much of a problem, but when you are new to it it looks like first world's problem D:
堆栈跟踪:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.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)
- 获得名为测试"的数据库
- 在测试中,有一个名为用户"的表(具有指定字段)
- 使用MySQL 5.6命令行客户端
- NetBeans 8.0.2中内置的代码
- Got Database called 'test'
- In test there is table called 'users' (with specified fields)
- Using MySQL 5.6 Command Line client
- Code built in NetBeans 8.0.2
推荐答案
您应该将带有MySQL驱动程序的文件放在NetBeans中的类路径中,以便IDE知道要加载的驱动程序类.
You should put a file with MySQL driver to your classpath in NetBeans, so the IDE know the driver class you want to load.
另一件事是一个奇怪的驱动程序名称org.gjt.mm.mysql.Driver
,通常是com.mysql.jdbc.Driver
.请尝试使用com.mysql.jdbc.Driver
驱动程序名称,并将mysql-connector jar放入您的类路径中.您可以在MySQL JDBC连接器JAR中找到驱动程序,可以在此处下载:
The other thing is a strange driver name org.gjt.mm.mysql.Driver
, usually it is com.mysql.jdbc.Driver
. Please try using the com.mysql.jdbc.Driver
driver name and put a mysql-connector jar into your classpath. You can find the driver in MySQL JDBC Connector JAR, which you can download here:
http://dev.mysql.com/downloads/connector/j/
此外,我建议您在捕获的内容中写上e.printStackTrace()
,这样您就始终知道真正出了问题.
Also I advise you to write e.printStackTrace()
in your catch, so you always know what really goes wrong.
这篇关于找不到jdbc驱动程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!