軟件更新丨MyBatis 3.5.0 發佈,Java 數據持久層框架

軟件更新丨MyBatis 3.5.0 發佈,Java 數據持久層框架

點擊右上方,關注開源中國OSC頭條號,獲取最新技術資訊

MyBatis 3.5.0 需要Java 8 及以後版本.

增強:

  • Avoid 'Illegal reflective access' warning on JDK 9+. #1156
  • Added Automatic-Module-Name : org.mybatis #1199
  • Support java.util.Optional as return type of mapper method. #799
  • Avoid unnecessary wasNull() calls from the built-in type handlers. #1244
  • It is now possible to specify columnPrefix in constructor arguments. #968
  • Improved reliability when searching constructor for auto-mapping. #1277
  • It is now possible to access private, package private and protected members in OGNL expressions. #1258
  • Throw exception if the specified keyProperty is not found when assigning generated keys. #1250
  • Added a type handler for SQLXML data type. #1221
  • Allow accessing private, package private and protected members in OGNL expression. #1258
  • tag now trims the leading comma. #21
  • Infer tag's resultType from the enclosing resultMap. #486
  • Allow specifying columnPrefix in constructor mapping. #968
  • Combination of @CacheNamespace and does not throw exception anymore. #1194
  • Support Log4J 2.6+. #1210
  • Slightly improved compatibility with drivers that only support JDBC 3 API. #1386
  • Upgraded testing framework to JUnit 5. #1425

Bug 修復:

  • OffsetDateTimeTypeHandler, OffsetTimeTypeHandler and ZonedDateTimeTypeHandler loses time zone information. #1081
  • Avoid SQLException when using Cursor with Db2. #1345
  • Avoid exception when using Cursor with ReuseExecutor. #1351
  • RowBounds with out-of-range offset causes SQLException on DB2. #1355
  • Specified logging implementation is not used in some classes. #1272
  • Unable to resolve javaType for . #1381
  • Deeply nested (3+ levels) result map could cause IllegalArgumentException. #1176
  • Generic type parameter is not correctly resolved when the class hierarchy is deeper than 3 levels. #1260

請查閱 3.5.0 milestone page 的完整的變更列表.

請注意自從3.4.6版本後有一些向後的不相容的變化:

  • Specifying keyProperty is now mandatory when using useGeneratedKeys. If you relied on the implicit default value (="id"), generated keys will be silently ignored. #1198
  • Using Cursor now requires a driver that supports JDBC 4.1 API. #1351
  • If you extended org.apache.ibatis.type.BaseTypeHandler, you might need to add wasNull() check in your type handler. #1144
  • The default resultSetType value has been changed from FORWARD_ONLY to UNSET. This is applied only to annotation based mappers (for XML based mappers, the default is/was UNSET). #1334
  • If you extended org.apache.ibatis.transaction.jdbc.JdbcTransaction for some reason, the property autoCommmit has been renamed to autoCommit. #941

↓↓↓


分享到:


相關文章: