JAVA 10 - java.sql.SQLException: 找不到适合 jdbc:mysql://localhost:3306/ 错误的驱动程序

JAVA 10 - java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/ error

我知道这是一个老问题,但这里的情况有所不同。这似乎是 JAVA 10 或 MySQLConnector/J 8.0.12 jar 类.

的错误

我以前使用的 JAVA 8 和 MySQLConnector/J 5.1.39 工作正常的相同项目(很多,不只是一个)现在在我更新后无法工作我的系统。

但错误仅出现在 RowSet 中。使用 DriverManager/Connection/ResultSet,显式使用,它在相同的 url、url 参数和 MySQL 驱动程序下工作得很好。

我试图重复使用 Class.forName("")... 以及 url 参数的变体,但是当我使用 RowSet 时没有任何效果。同样的 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/scheme1?verifyServerCertificate=false&useSSL=true 一次又一次抛出。

为什么相同的代码适用于 Java 8 而不是 Java 10?

try {
        RowSet rowSet = RowSetProvider.newFactory().createCachedRowSet();
        String url = "jdbc:mysql://localhost:3306/scheme1?verifyServerCertificate=false&useSSL=true";
        rowSet.setUrl(url);
        rowSet.setUsername("root");
        rowSet.setPassword("root");
        rowSet.setCommand("select * from client");
        rowSet.execute();
        while(rowSet.next()) {
            System.out.println(rowSet.getInt(1)+" "+rowSet.getString(2));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }enter image description here

(错误见图片)

如果有人知道问题和解决方案,请提供帮助。我想继续使用 Java 10.

丹尼尔·皮涅罗

danielpm1982@gmail.com

mysql-connector.jar 是 JAVA 8 的补充 您需要等到 MySQL 推出 JAVA 10 的连接器或降级到 JAVA 8.