无法找到jdbc驱动程序?

时间:2015-04-15 15:05:08

标签: java mysql jdbc

我已经开始学习如何使用Java连接MySQL数据库。由于我是初学者,所以我一直在寻找最基本的指南并找到this。 它看起来很容易,非常容易理解和有用。

但是,当我运行该代码时,它显示错误,表格为空。 :(

CODE:

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:

STACK TRACE:

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)

  • 获得名为'test'的数据库
  • 在测试中,有一个名为'users'(带有指定字段)的表
  • 使用MySQL 5.6命令行客户端
  • NetBeans 8.0.2中构建的代码

1 个答案:

答案 0 :(得分:6)

您应该在NetBeans中将带有MySQL驱动程序的文件放到类路径中,以便IDE知道您要加载的驱动程序类。

另一件事是一个奇怪的驱动程序名称org.gjt.mm.mysql.Driver,通常是com.mysql.jdbc.Driver。请尝试使用com.mysql.jdbc.Driver驱动程序名称并将mysql-connector jar放入类路径中。您可以在MySQL JDBC Connector JAR中找到驱动程序,您可以在此处下载:

http://dev.mysql.com/downloads/connector/j/

我还建议你在你的捕获中写e.printStackTrace(),这样你就会知道到底出了什么问题。