невозможно подключить Mysql к NetBeans (в ОС Windows) - PullRequest
0 голосов
/ 26 ноября 2018

У меня проблема с подключением MySQL к Java.Я не нашел драйвер для Windows, и мне сказали, чтобы выбрать платформу независимо.Я использую NetBeans ide 8.2 и MySQL server 8.0.13 и MySQL Workbench 8.0.13. Я пытался загрузить более старые версии драйверов, чтобы посмотреть, будет ли это работать, но результат тот же:

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

записи не отображаются в выводе, когда я запускаю, я что-то упустил?мне нужно делать что-то кроме добавления драйвера в библиотеки в NetBeans и написания кода подключения?Пожалуйста, помогите мне, я новичок в этом, и мне нужна помощь.Спасибо
это таблица в MySQL это код подключения в NetBeans

1 Ответ

0 голосов
/ 27 ноября 2018

Я согласен с 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 , есть другие варианты для изучения, но это, вероятно, наиболее вероятная причина вашей проблемы.

...