【问题标题】:Migrating to OpenJDK 11, which version of MySql connector is compatible for java 11?迁移到 OpenJDK 11,哪个版本的 MySql 连接器与 java 11 兼容?
【发布时间】:2019-05-29 19:10:39
【问题描述】:

我正在尝试将我的应用程序从 Java 8 迁移到 OpenJDK 11。我使用了 MySql 连接器版本 5,它工作正常。 是否需要将 MySql 连接器 JAR 升级到 8.0 版本? 我从下面的链接中读到了它,但他们没有提到 Java 11。

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions-java.html

【问题讨论】:

  • Connector/J 文档似乎没有提及 JDK 9 或更高版本。我最近不得不在 JDK 11 和 JDK 12 构建上使用 Connector/J 8.0.11 演示一些东西,并且没有遇到任何问题。
  • 在我的 JDK11 迁移中,我在使用带有 Connector/J 8.0 的 Hibernate+Spring JPA 时遇到了奇怪的问题,所以现在回滚到 5.1。

标签: java mysql java-11


【解决方案1】:

根据您的参考,以及this,我们可以清楚地看到,MySQL 连接器版本5 使用JDBC 版本3.0, 4.0, 4.1, 4.2

MySQL 连接器版本 8 使用 JDB 版本 4.2

虽然JDBC版本4.2支持JDK版本1.8.x,但新的(今天)JDBC版本4.3supportsJDK版本9

所以,我们等待支持JDK 11JDBC 的新版本,然后等到MySQL 支持JDBC 驱动程序的新版本。

【讨论】:

  • 确实,他们需要等待连接器的新版本(8.0 后,尚不可用)才能访问 JDBC 4.3/Java 9 中添加的功能,但最初的问题是关于从Java 8 所以不会使用这样的 API(至少现在还没有)。请参阅脚注 1“Connector/J 8.0 实现 JDBC 4.2。虽然 Connector/J 8.0 可与更高 JDBC 版本的库一起使用,但对于仅 JDBC 4.3 和更高版本支持的任何方法调用,它都会返回 SQLFeatureNotSupportedException”。所以他们似乎确实声称支持更新的 JRE,前提是他们不使用新的 JDBC4.3+ 功能
  • 这都是从头到尾的。是 JDK 支持 JDBC 版本,而不是相反。
【解决方案2】:

我测试了一个示例 mysql API 来读取一个表。具体配置如下:

mysql-connector-java : version 8.0.21
java : openjdk version "11.0.8"

一切正常。

【讨论】:

    猜你喜欢
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2022-11-21
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2020-04-02
    相关资源
    最近更新 更多