【问题标题】:can't connect Mysql to NetBeans(in windows os)无法将 Mysql 连接到 NetBeans(在 Windows 操作系统中)
【发布时间】:2019-04-28 11:18:41
【问题描述】:

我在将 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

【问题讨论】:

  • 我们无法为您提供这样的帮助。你在谈论java的mysql驱动程序吗?你的代码在哪里?你的例外是什么?你对你这样的问题期望得到什么样的答案?
  • 我刚刚添加了照片
  • 看起来不错。 8.0.13 的类名是正确的,它曾经在以前的驱动程序版本中位于不同的包中。但它似乎不在你的类路径中。您可以删除Class.forName 行,看看没有它是否可以工作?多年来,AFAIK 已经不需要手动检查课程了。

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


【解决方案1】:

我同意 f1sh 的观点,即您的代码看起来不错,并且您的代码中不需要 Class.forName() 行。我也同意选项 Platform Independent 是下载驱动程序时 Windows 操作系统的正确选择。

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

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

如果我包含 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 文件,那么还有更多选项可供探索,但这似乎是导致问题的最可能原因。

【讨论】:

  • 我已经将 jar 文件放入库中。我去问我的问题,我被告知我也必须添加一个 odbc jar?我不知道在哪里可以找到它。我什至不知道我是否做得对..我感到迷茫。现在我要求借一台 Mac 电脑重做那里的项目。无论如何谢谢..@skomisa跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
相关资源
最近更新 更多