Я хочу подключиться к БД на Java, но есть некоторые ошибки - PullRequest
0 голосов
/ 26 апреля 2018
package dbb;

import java.sql.*;

public class test {
    public static void main (String[] args) {
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String pass = "1234";

        Connection conn = null;

        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Driver Searched");
            conn = DriverManager.getConnection(url, user, pass);
            System.out.println("Connection Succeed" + conn);
        } catch (ClassNotFoundException e) {
            System.out.println("Driver Not Searched");
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

я сделал этот код на Java, но есть некоторые ошибки.например, enter image description here.

Показывает, что драйвер уже найден, но соединение все еще не установлено.

Как я могу исправить ошибку?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018
public static void main(String[] args) {

    String url = "jdbc:mysql://localhost:3306/test";
    String user = "root";
    String pass = "Admin@123";

    java.sql.Connection conn = null;

    try {
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Driver Searched");
        conn = DriverManager.getConnection(url, user, pass);
        System.out.println("Connection Succeed" + conn);
    } catch (ClassNotFoundException e) {
        System.out.println("Driver Not Searched");
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

работает нормально в моей системе с mysql-connector-java-5.1.6jar.Возможно, это проблема с драйвером MySql.

Вы можете попробовать сделать это ниже: вам может понадобиться явно указать часовой пояс в вашем URL-адресе jdbc:

String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
0 голосов
/ 26 апреля 2018

Как уже предлагалось в комментарии, чтобы использовать не-ssl соединение с последним драйвером, вы должны использовать следующий код:

package dbb;
import java.sql.*;

public class test {
public static void main (String[] args) {
    String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
    String user = "root";
    String pass = "1234";

    Connection conn = null;

    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        System.out.println("Driver Searched");
        conn = DriverManager.getConnection(url, user, pass);
        System.out.println("Connection Succeed" + conn);
    } catch (ClassNotFoundException e) {
        System.out.println("Driver Not Searched");
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...