MySQL 连接器和其他 MySQL 客户端工具和应用程序现在将其版本号的第一位数字与其支持的(最高)MySQL 服务器版本同步。此更改使得决定将哪个客户端版本用于哪个服务器版本变得简单直观。
Connector/J 8.0.7 是第一个使用新编号的版本。它是 Connector/J 6.0.6 的后续版本。
-
X DevAPI:
Result接口 相关的一些方法有变化getLastDocumentId()并getLastDocumentIds()已被替换为getDocumentId()andgetDocumentIds(),它们被置于一个AddResult扩展的新界面 下Result。一个新
getAutoIncrementValue()方法被添加到InsertResult扩展的新接口中Result。
有关详细信息,请参阅MySQL Connector/J X DevAPI 参考。(缺陷号 25207784)
X DevAPI: 不再允许将空搜索条件(例如 NULL 值或空字符串)传递给
Collection.Modify()和Collection.Remove()方法。X DevAPI: 使用 X 协议的连接现在默认是安全的。此外,
xdevapi.ssl-enable连接选项已被替换为xdevapi.ssl-mode具有DISABLED,REQUIRED(默认)VERIFY_CA, 和VERIFY_IDENTITY作为其允许值的选项;有关详细信息,请参阅配置属性中新选项的 说明。-
X DevAPI: 将
BaseSession、NodeSession和XSession接口合并为一个com.mysql.cj.api.xdevapi.Session接口。还进行了以下相关更改:改名
XSessionFactory为SessionFactory。将
AbstractSession、NodeSessionImpl和XSessionImplclasses 合并到com.mysql.cj.xdevapi.SessionImplclass 中。删除了
Session.bindToDefaultShard()方法和VirtualNodeSession接口。该
mysqlx.getNodeSession()方法已重命名为mysqlx.getSession(),现在返回一个Session对象。该
DatabaseObject.getSession()方法现在返回一个Session对象(而不是旧Session接口)。
有关详细信息,请参阅MySQL Connector/J X DevAPI 参考。
-
为避免在核心 Connector/J 类中使用 JDBC 语句,已实施以下更改:
创建了一个新
com.mysql.cj.api.Query接口,由StatementImpl.用接口替换
com.mysql.cj.api.jdbc.interceptors.StatementInterceptor了com.mysql.cj.api.interceptors.QueryInterceptor接口。添加了一个新方法
PacketPayload preProcess(PacketPayload queryPacket), 到QueryInterceptor.将连接属性重命名
statementInterceptors为queryInterceptors. 有关详细信息,请参阅 配置属性 。
utf8mb4为字符集 添加了日语排序规则。
X DevAPI: 当输入为空时
createView()失败并返回 aNullPointerException此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞#25575156)X DevAPI: 当输入为空时
createaTable()失败并返回 aNullPointerException此修复程序添加了对空值的检查,并使 Connector/J 为它们抛出正确的错误。(漏洞 #25575103)X DevAPI:对于使用 X 协议的连接, 连接属性
enabledSSLCipherSuites、clientCertificateKeyStoreUrl、clientCertificateKeyStoreType和clientCertificateKeyStorePassword被忽略。(缺陷号 25494338)X DevAPI:
getNodeSession()使用包含 SSL 参数的 URL 字符串 调用CJCommunicationsException. 这已通过创建字节缓冲区来处理 SSL 握手数据得到修复。getNodeSession()(此后已合并到通知getSession()。)(缺陷 #23597281)X DevAPI: 并发异步操作导致挂起、空指针异常或其他意外异常。这已通过更正一些问题
SerializingBufferWriter并通过限制与收集写入一起发送的缓冲区数量来解决。(缺陷号 23510958)X DevAPI: 当线程无法使用 X 协议连接到服务器时,客户端应用程序挂起。一个新的连接属性
xdevapi.asyncResponseTimeout(默认值为 300 秒)现在提供一个持续时间,超过该持续时间尝试连接超时,然后抛出一个适当的错误。有关详细信息,请参阅配置属性中新选项 的说明。(漏洞 #22972057)由于 MySQL 服务器对 GIS 支持的更改,Connector/J 在与地理信息系统 (GIS) 功能相关的测试套件中未能通过许多回归测试。该修复更正了测试。(错误#26239946,错误#26140577)
尝试连接到使用排序规则启动的服务器会
utf8mb4_de_pb_0900_ai_ci导致空指针异常。(缺陷号 26090721)useConfigsConnector/J 无法识别由 连接属性命名的配置模板 。(漏洞 #25757019,漏洞 #85555)当使用 null 调用 ,或 时
NullPointerException返回 A。此修复使 Connector/J 抛出异常 。(缺陷号 25650305)getDate()getTime()getTimestamp()CalendarSQLException当使用
ArrayIndexOutOfBoundsException服务器端准备好的语句并且 中有NULLin aBLOB、TEXT或JSONtype 列ResultSet时抛出 (漏洞 #25215008,漏洞 #84084)