无法将Mysql连接到NetBeans(在Windows OS中)

时间:2018-11-26 19:01:07

标签: java mysql mysql-workbench classnotfoundexception mysql-connector

我在将MySQL连接到Java时遇到问题。我尚未找到Windows驱动程序,并被告知选择独立于平台的驱动程序。  我正在使用NetBeans ide 8.2和MySQL服务器8.0.13和MySQL Workbench 8.0.13,我试图下载旧版本的驱动程序以查看其是否有效,但结果相同:

java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver

我运行时记录未显示在输出中 我错过了什么吗?除了将驱动程序添加到NetBeans中的库并编写连接代码之外,我还需要做其他事情吗?请帮助我,我是新手,我需要帮助。谢谢
this is the table in MySQL this is the connection code in NetBeans

1 个答案:

答案 0 :(得分:0)

我同意 f1sh ,您的代码看起来不错,而且您的代码中不需要Class.forName()行。我也同意,在下载驱动程序时,选项与平台无关是Windows操作系统的正确选择。

但是,不幸的是,您的屏幕截图没有显示您在 Libraries 节点下添加的驱动程序的文件扩展名。您能否确认文件的扩展名是 jar ,而不是 zip tar

下载MySQL驱动程序会创建一个 zip tar 文件(取决于您选择的选项),但是您必须解压缩该文件才能访问名为的实际驱动程序> mysql-connector-java-8.0.13.jar ,这是您必须添加到项目中的文件:

driverJar

如果我包含了Class.forName()调用,并将 zip 而不是 jar 添加到一个简单的测试项目中,我将得到与您完全相同的错误在NetBeans中:

run:
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    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)
    at jdbcselecttest.JdbcSelectTest.dbQuery(JdbcSelectTest.java:31)
    at jdbcselecttest.JdbcSelectTest.main(JdbcSelectTest.java:25)
C:\Users\johndoe\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

值得注意的是,如果没有Class.forName()调用,错误将更改为:

run:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/ebookshop?useSSL=false
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at jdbcselecttest.JdbcSelectTest.dbQuery(JdbcSelectTest.java:32)
    at jdbcselecttest.JdbcSelectTest.main(JdbcSelectTest.java:25)
BUILD SUCCESSFUL (total time: 0 seconds)

如果我删除 zip 文件并添加 jar ,则文件一切正常。

如果您已经正确使用了 jar 文件,则可以探索更多选项,但这似乎是造成问题的最可能原因。