Не могу установить соединение с базой данных MySQL с JDBC

126
05 августа 2019, 09:30

JDBC.java

    import java.sql.*;
    public class JDBC {
        public static void main(String[] args) {
            String url="jdbc:mysql://localhost:3306/currency";
            String username = "root";
            String password = "root";
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection connection = DriverManager.getConnection(url, username, password);
                Statement statement = connection.createStatement();
                ResultSet resultSet = statement.executeQuery("SELECT * FROM rates");
                while (resultSet.next()) {
                    System.out.println(resultSet.getString(0));
                }
                resultSet.close();
                statement.close();
                connection.close();
            } catch (SQLException | ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    }

В pom.xml зависимость для JDBC установлена.

Вывод:

    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
        at com.mysql.jdbc.Util.getInstance(Util.java:360)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2311)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
        at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:790)
        at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
        at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
        at by.bsu.pt.back.JDBC.main(JDBC.java:13)
    Caused by: java.lang.NullPointerException
        at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2983)
        at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1873)
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1802)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
        ... 13 more

Ошибка в строке:

    Connection connection = DriverManager.getConnection(url, username, password);

Но при этом:

Answer 1

Проблема была решена сменой версии драйвера в pom.xml на 8.0.11 и добавлением параметра useSSL=false в строку адреса

String url="jdbc:mysql://localhost:3306/currency?useSSL=false";
READ ALSO
Custom Create или произвольный дизайн формы

Custom Create или произвольный дизайн формы

Возникла проблема при создании произвольного дизайна формыНакидал форму:

89
Predicate in filtering

Predicate in filtering

не могу понять почему не компилится данныек код ведь типо пишет что у лмбд плохой тип

132
Нажатие за пределы View(EditText)

Нажатие за пределы View(EditText)

Нужно сделать так, чтобы программа понимала, что пользователь нажал на ЛЮБОЕ место экрана за пределами editText

123