8.0.17版本是MySQL Connector/J 8.0系列的最新通用可用版本。它适用于MySQL Server 8.0、5.7和5.6版本。它支持JDBC (Java Database Connectivity) 4.2 API,实现X DevAPI。
X DevAPI:以下方法已弃用:
Collection.find()。()
Collection.modify()。()
Collection.remove()。()
X DevAPI:JSON对象和数组的两个新操作符,
重叠
而且不重叠
,现在支持。X DevAPI:现在支持对数组字段进行索引。看到索引数组字段在X DevAPI用户指南获取详细信息。
的
自述
而且许可证
文件现在包含在独立于平台的tarball和zip文件中交付的Connector/J JAR归档文件中。(错误# 29591275)的许多私有参数
ProfilerEvents
(例如,主机名
)没有从类实例外部访问它们的getter。现在已经为该类的所有参数添加了Getter方法。(Bug #20010454, Bug #74690)一个新的连接属性,
databaseTerm
,设置在应用程序中使用这两个术语中的哪一个来指代数据库。该属性接受这两个值中的一个目录
或模式
然后用它来判断连接
方法可用于设置/获取当前数据库,其参数可在各种DatabaseMetaData
方法来筛选结果,以及结果集
返回的DatabaseMetaData
方法包含数据库标识信息。请参阅databaseTerm
在配置属性获取详细信息。还有连接属性
nullCatalogMeansCurrent
已改名为nullDatabaseMeansCurrent
.旧的名称仍然是连接属性的别名。感谢Harald Aamot对补丁的贡献。(Bug #11891000, Bug #27356869, Bug #89133)
一个新的
贡献
文件已添加到GitHub上的连接器/J库,为代码贡献和错误报告提供指导。MySQL Connector/J X DevAPI Reference现在可以从Connector/J源代码中生成作为Ant目标,
xdevapi-docs
.增加了对超过60个字符(最多255个字符)的主机名的支持,MySQL Server 8.0.17现在支持这些主机名。
添加了对
utf8mb4_0900_bin
MySQL Server 8.0.17现在支持collation。缓存的服务器端预处理语句不能再通过调用有效地关闭
Statement.close ()
两次。要关闭并去缓存该语句,请执行以下操作之一:关闭连接(假设连接正在跟踪所有打开的资源)。
使用特定于实现的方法
JdbcPreparedStatement.realClose()。
通过调用该方法,将语句设置为不可池
Statement.setPoolable(假)
在关闭之前或之后。
X DevAPI:的
在
在X个DevAPI表达式中,当后面跟着一个方括号([
),映射到X协议中的错误操作。(错误# 29821029)在使用复制连接时,从
BlobFromLocator
导致了ClassCastException
.这是由于一些错误和不必要的铸造,这已经被这个修复删除了。(Bug #29807741, Bug #95210)ResultSetMetaData.getTableName ()
当不能为列返回适用的结果时返回null。但是,JDBC文档在这种情况下指定了10bet官方网站要返回的空字符串。此修复使该方法的行为与文档中描述的一致。也作了同样的修正getCatalogName ()
而且getSchemaName ()
.(Bug #29452669, Bug #94585)ResultSetImpl.getObject ()
,当自动对从列检索的基元类型的值进行装箱时,当检索的值为空时返回一个非空对象。(Bug #29446100, Bug #94533)ResultSetImpl.getDouble ()
效率很低,因为它叫FloatingPointBoundsEnforcer.createFromBigDecimal
,这是不必要的再创造BigDecimal
对象用于固定的最小和最大边界。有了这个修复,对象BigDecimal.valueOf(分钟)
而且BigDecimal.valueOf (max)
在第一次创建它们之后缓存,从而避免重新创建它们。(Bug #29446059, Bug #94442)启用
logSlowQueries
导致了许多不必要的调用LogUtils.findCallingClassAndMethod ()
.有了这个修复,LogUtils.findCallingClassAndMethod ()
仅当profileSQL
是正确的,即使在这种情况下,调用的数量也会减少到最小,以避免函数用于生成的堆栈跟踪数据过多。感谢Florian Agsteiner对修复的贡献。(Bug #29277648, Bug #94101, Bug #17640628, Bug #70677)返回的字符
结果集
当服务器端出现乱码PreparedStatement
,并且查询涉及到一个数字和一个多字节字符的字符串的连接。这是由于涉及到的数字到字符串转换的一个问题,这个问题已经通过这个补丁得到了纠正。(错误# 27453692)调用
ProfilerEvent.pack ()
导致了ArrayIndexOutOfBoundsException
.这是由于数据类型的错误处理,已通过此修复程序纠正。(Bug #11750577, Bug #41172)