版本 8.0.9 候选发布版是 MySQL Connector/J 8.0 分支的第一个候选发布版,提供了对即将推出的功能的深入了解。它适用于 MySQL 服务器版本 5.5、5.6、5.7 和 8.0。它支持 Java 数据库连接 (JDBC) 4.2 API。
-
X DevAPI: 在完善 X DevAPI 的定义以涵盖最相关的使用场景的过程中,以下 API 组件已从 Connector/J 的 X DevAPI 实现中删除:
支持视图 DDL 的组件,包括
createView()
、dropView()
和modifyView()
方法。支持表的 DDLS 的组件,包括
createTable()
、dropTable()
和modifyTable()
方法。支持会话配置的组件,包括
SessionConfig
对象、PersistenceHandler
接口、PasswordHandler
接口和SessionConfigManager
类。
X DevAPI:向接口 添加
setSavepoint()
、rollbackTo()
和releaseSavepoint()
方法以Session
支持 SAVEPOINT、 ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT语句。有关详细信息,请参阅 MySQL 连接器/JX DevAPI 参考。X DevAPI:接口中添加了 一个新
patch()
功能ModifyStatement
。该函数接受一个描述文档更改的类 JSON 对象,并将它们应用于与modify()
过滤器匹配的文档。有关详细信息,请参阅 MySQL 连接器/JX DevAPI 参考。X DevAPI:
createIndex()
接口方法Collection
现在有了新的语法 。有关详细信息,请参阅MySQL Connector/J X DevAPI 参考。-
X DevAPI:在X DevAPI 中增加了以下单文档操作方法:
replaceOne()
addOrReplaceOne()
getOne()
removeOne()
有关详细信息,请参阅MySQL Connector/J X DevAPI 参考。
X DevAPI: 已为 、 和 类的配置属性添加了 Setters 和
MysqlDataSource
gettersMysqlXADataSource
方法MysqlConnectionPoolDataSource
。X DevAPI: 连接属性
enabledTLSProtocols
现在可用于为到服务器的 X 协议连接选择允许的 TLS 版本。-
Connector/J 现在支持新的
caching_sha2_password
身份验证插件,这是 MySQL 8.0.4 及更高版本的默认身份验证插件(有关详细信息,请参阅 缓存 SHA-2 可插入身份验证)。笔记caching_sha2_password
要使用插件 验证帐户, 必须使用使用 SSL 的服务器安全连接或使用 RSA 密钥对支持密码交换的未加密连接(通过设置一个或两个连接属性allowPublicKeyRetrieval
和 启用serverRSAPublicKeyFile
)。因为 Connector/J 8.0 的早期版本不支持
caching_sha2_password
身份验证插件,因此将无法连接到使用新插件进行身份验证的帐户(这可能包括在新安装 MySQL 8.0 服务器期间默认创建的根帐户) ,强烈建议您现在升级到 Connector/J 8.0.9,以帮助确保您的应用程序继续与最新的 MySQL 8.0 服务器顺畅工作。 Connector/J 现在通过使连接属性
useInformationSchema
默认为真来利用 MySQL Server 8.0 数据字典;这使得 Connector/J 默认情况下通过查询 INFORMATION_SCHEME 中的表更有效地访问数据字典。有关详细信息,请参阅 INFORMATION_SCHEMA 和数据字典集成。用户仍然可以将 useInformationSchema 设置为 false;但对于 MySQL 8.0.3 及更高版本,由于旧数据字典功能的弃用,一些数据字典查询可能会失败。过去,查询文本总是作为字符串传递给
QueryInterceptor
方法,即使这些文本实际上并未被它们使用。现在,仅传递文本的供应商,并且仅通过get()
调用供应商来提取文本。
connection 属性
nullNamePatternMatchesAll
在设置为 false(默认值)时会导致某些DatabaseMetaData
方法在使用空搜索字符串时抛出错误。该行为不符合 JDBC 规范,该规范要求在使用空搜索字符串时忽略搜索条件。连接属性现已从 Connector/J 8.0 中删除。(错误#26846249,错误#87826)尝试在关闭后
PreparedStatement
使用该toString()
方法打印查询会导致抛出异常(语句关闭后不允许进行任何操作)。(漏洞 #26748909)使用 MySQL Server 8.0时,当的主键包含布尔列且使用的字符集不是 时,更新或删除语句
CONCUR_UPDATABLE
ResultSet
失败 。(缺陷号 26266731)ResultSet
latin1
Connector/J 无法识别它在与服务器握手期间收到的服务器问候错误,并将错误消息解析为正常的问候数据包,导致 抛出ArrayIndexOutOfBoundsException 。(漏洞 #24924097)