Как соединить Java и MySQL на Ubuntu 16.04?

Я вижу некоторое исключение как это.Пожалуйста, помогите мне.

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

Это - программа, которую я пытаюсь выполнить для установления соединения.


    import java.sql.*;

    class Connect
    {
    public static void main(String args[])
        {
        try{
            String dbUrl="jdbc.mysql://localhost:3306/EMPLOYEE";
            String username="root";
            String password="avinash";
            Class.forName("com.mysql.jdbc.Driver");
            Connection myconnection=DriverManager.getConnection(dbUrl,username,password);
            Statement mystatement=myconnection.createStatement();
            ResultSet myresultset=mystatement.executeQuery("select * from EMPLOYEE");
        }catch(Exception e){
        System.out.println(e);
        }
    }
    }

0
задан 28 March 2019 в 04:29

2 ответа

Необходимо будет добавить mysql коннектор к проекту.

Существует много путей и инструментов, чтобы сделать это, я предлагаю Вас один здесь.

Коннектор может быть загружен на mysql веб-сайте. Выберите "Platform independant" для получения архива, который будет содержать файл JAR.

Затем извлеките загруженный архив и переместите файл JAR с Вашим источником проекта.

Затем добавление его к Вашему проекту может быть сделано с Вашим IDE. Например, это - процедура для следования с Eclipse (2018-09 - Больше деталей об этом сообщении):

  1. В проводнике проекта щелкните правой кнопкой по своему проекту

  2. Выберите свойства

  3. В Окне свойств нажмите на "Java Build Path" в левой панели

  4. В Пути сборки Java нажмите на вкладку "Librairies"

  5. Выберите Путь к классу и используйте кнопку "Add JARs" справа

java build path screenshot

1
ответ дан 25 October 2019 в 23:07

Я нашел решение. Первая ошибка была здесь. Я ввел jdbc.mysql://localhost:3306/EMPLOYEE вместо jdbc:mysql://localhost:3306/EMPLOYEE. Таким образом, точка (.) вместо двоеточия (:) после jdbc в вышеупомянутом операторе. После исправления этого я получил другую ошибку при высказывании:

Четверг 28 марта 15:38:38 IST 2019 ПРЕДУПРЕЖДАЕТ: Установление соединения SSL без проверки идентификационных данных сервера не рекомендуется. Согласно MySQL 5.5.45 +, 5.6.26 + и 5.7.6 + требования соединение SSL должно быть установлено по умолчанию, если явная опция не установлена. Для соответствия существующим приложениям, не используя SSL verifyServerCertificate свойство установлено на 'ложь'. Вы должны или явно отключить SSL путем установки useSSL=false, или установить useSSL=true и обеспечить базу доверенных сертификатов для проверки сертификата сервера.

Затем я установил ?useSSL=false в операторе String dbUrl="jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false"; Затем мне успешно удалось выполнить программу.

Java:

import java.sql. * ;

class Connect {
    public static void main(String args[]) {
        try {
            String dbUrl = "jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false";
            String username = "root";
            String password = "avinash";
            Class.forName("com.mysql.jdbc.Driver");
            Connection myconnection = DriverManager.getConnection(dbUrl, username, password);
            Statement mystatement = myconnection.createStatement();
            ResultSet myresultset = mystatement.executeQuery("select * from EMPLOYEES");
            System.out.println("Connected");
            while (myresultset.next()) {
                System.out.println("Employee ID : " + myresultset.getString("ID"));
                System.out.println("Employee Age : " + myresultset.getString("AGE"));
                System.out.println("Employee Name : " + myresultset.getString("FIRST_NAME") + " " + myresultset.getString("LAST_NAME"));
            }

        } catch(Exception e) {
            System.out.println(e);
        }
    }
}

... с выводом...

$ javac Connect.java
$ java -cp .:mysql-connector-java-5.1.47-bin.jar Connect
Connected
Employee ID : 100
Employee Age : 18
Employee Name : zaara ali
Employee ID : 101
Employee Age : 20
Employee Name : manam naman
Employee ID : 102
Employee Age : 22
Employee Name : zaid khan
Employee ID : 103
Employee Age : 24
Employee Name : sumith das

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

java -cp .:mysql-connector-java-5.1.47-bin.jar Connect

Помогите:)

1
ответ дан 25 October 2019 в 23:07

Другие вопросы по тегам:

Похожие вопросы: