IntelliJ - MySQL ClassNotFoundException - PullRequest
0 голосов
/ 09 июля 2020

Итак, я пытаюсь скопировать удаленную базу данных в свою локальную базу данных с помощью IntelliJ и MySQL, и я уже получил данные удаленной базы данных. Проблема возникает, когда я пытаюсь установить sh соединение с MySQL:

public void copyDatabase(Info info){
        try{
            Class.forName("com.mysql.jdbc.Connection");
            localConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/lsmotor_local_oltp", user, password);
        }catch(SQLException e){
            System.out.println("Problem while trying to connect to local database");
        }
        catch(ClassNotFoundException e){
            System.out.println(e);
        }
        //TODO: Copy Info into local database
}

И он продолжает выдавать мне эту ошибку: java.lang.ClassNotFoundException: com.mysql.jdbc.Connection, что напечатано во втором улове.

У меня уже есть библиотека mysql -connector- java -8.0.172 в моей структуре проекта, и, как показано в коде, я sh подключаюсь к базе данных lsmotor_local_oltp, которую я уже создал и выполнил свой код. Я проверил, но в большинстве сообщений говорится, что решение имеет библиотеку mysql -connector, которая у меня уже есть. Заранее благодарим и приносим извинения за неудобства!

Ответы [ 4 ]

0 голосов
/ 09 июля 2020

ОБНОВЛЕНИЕ: я обнаружил, что в моем случае мне нужно использовать «com. mysql .cj.jdb c .Driver», но теперь «Проблема при попытке подключиться к локальной базе данных» появляется сообщение, что означает, что теперь это SQLException, а не ClassNotFoundException.

0 голосов
/ 09 июля 2020

У вас есть исключение java .lang.ClassNotFoundException, потому что класс com. mysql .jdb c .Connection не существует. Если вы хотите подключиться к своей базе данных, вы можете использовать это руководство

0 голосов
/ 09 июля 2020

Проверьте параметры / настройки в вашем файле свойств или что-то в этом роде, относящееся к mysql JDB C драйверу

0 голосов
/ 09 июля 2020

См .: https://www.w3resource.com/mysql/mysql-java-connection.php

Вероятно, вы не включили библиотеку коннектора mysql JDB C в путь к классам. Получив его, вы сможете запускать код, подобный приведенному в примере.

   Class.forName ("com.MySQL.jdbc.Driver").newInstance ();   <<< this line is the one you want (or something similar)
   String userName = "root";
   String password = "pqrs123";
   String url = "jdbc:MySQL://localhost/sakila";        
   conn = DriverManager.getConnection (url, userName, password);
   System.out.println ("\nDatabase Connection Established...");
...