【问题标题】:How do I establish a MySQL connection? [duplicate]如何建立 MySQL 连接? [复制]
【发布时间】:2019-09-15 01:01:21
【问题描述】:

我在运行代码时遇到了一个奇怪的异常。

public MySQL()
    {

        Connection conn = null;
        String userName = "admin";
        String password = "admin";

        try
        {
            Class.forName("com.mysql.jdbc.driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testbase",userName,password);
            System.out.println("CONNECTED");
        }
        catch (Exception e)
        {
            e.printStackTrace();
            System.out.println("Can't connect to database!");
        }
    }

我得到的只是这个例外。

java.lang.ClassNotFoundException: com.mysql.jdbc.driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
Can't connect to database!  at com.baze.gimnazija.MySQL.<init>(MySQL.java:15)
    at com.baze.gimnazija.Main.main(Main.java:9)

我已连接图书馆。

【问题讨论】:

    标签: java mysql


    【解决方案1】:

    问题就在这里:

    Class.forName("com.mysql.jdbc.driver");
    

    这不是班级的名称。 Java 区分大小写,因此您必须尊重大写字母。

    Class.forName("com.mysql.jdbc.Driver");
    

    如果你使用的是Mysql 8,那么驱动类已经改变了:

    Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
    

    注意:如果您使用的是 Java 7 或更高版本,则可以省略该行代码。

    【讨论】:

    • 我又遇到了同样的错误。
    • 答案已更新,以防您使用 MySQL 8。
    猜你喜欢
    • 2018-04-19
    • 2021-02-03
    • 1970-01-01
    • 2011-05-09
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多