找不到jdbc驱动程序? [英] Can't find jdbc driver?

查看:132
本文介绍了找不到jdbc驱动程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经开始学习如何将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆