Thursday, June 4, 2020

MyBatis 3.5.5 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.5.
The below is the list of user visible changes.

Enhancements:
  • You can reference single `List` or `Collection` type parameter using its actual parameter name when `useActualParamName` is enabled. #1237
  • You can specify `resultMap` in `@One` and `@Many`. #1771
  • You can specify `columnPrefix` in `@One` and `@Many`. #1829
  • A new option `shrinkWhitespacesInSql` to remove extra whitespaces in SQL. #1901
Bug fixes:
  • Possible IllegalArgumentException when using `@CacheNamespaceRef` . #1719
  • Mapper method invocation should be non-blocking (work around JDK-8161372). #1929

Please see the 3.5.5 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

We also receive many code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team

Monday, February 3, 2020

MyBatis 3.5.4 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.4.
The below is the list of user visible changes.

Enhancements:
  • You can now omit unnecessary `@Results` and `@ConstructorArgs` annotation. #1698
Bugs:
  • Avoid invoking hashCode() method when setting auto-generated keys. #1719
  • Possible ResultMapException when using nested select. #1551
  • Possible incorrect TypeVariable resolution in TypeParameterResolver. #1794
  • Race condition in TypeHandlerRegistry. #1819

Please see the 3.5.4 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

We also receive many code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team

Sunday, October 20, 2019

MyBatis 3.5.3 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.3.
The below is the list of user visible changes.

Enhancements:
  • Support variable substitution in CDATA of included <sql />. #1615
  • Support default method invocation on JDK 14+8 or later. #1626
  • Avoid illegal reflective access warning when invoking default mapper method. #1636
  • Ambiguous getter/setter now throws ReflectionException only when it is actually accessed. #1201

Bugs:

  • Possible infinite loop when a SQL provider throws an exception. #1616
  • Unable to iterate Cursor if the next element is null. #1653
  • queryCursor() fails in streaming mode of MySQL Connector/J. #1654

Please see the 3.5.3 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

We also receive many code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team

Monday, July 15, 2019

MyBatis 3.5.2 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.2.
The below is the list of user visible changes.

Enhancements:

  • SQL builder now supports LIMIT, OFFSET #1521 and FETCH FIRST #1582.
  • SQL builder now supports multi-row insert syntax #1333.
  • A new property defaultNetworkTimeout has been added to the built-in data sources i.e. PooledDataSource and UnpooledDataSource #1527.
  • SQL provider annotations now takes value attribute which is an alias for type #1522.
  • You can now pass Java array to ArrayTypeHandler#setNonNullParameter() #1548.
  • You can reference single simple type unnamed parameter with any name in OGNL expressions #1487.
  • A new configuration option defaultResultSetType is added #1056.

Bugs:

  • SQL provider method with a primitive parameter causes BuilderException #1604.
  • Fixes a possible NullPointerException #1590.

Please see the 3.5.2 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

There also are various code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team

Monday, April 8, 2019

MyBatis 3.5.1 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.1.
The below is the list of user visible changes.

Bug fixes:
  • keyProperty specified with parameter name could cause ExecutorException. #1485
  • False positive error 'Ambiguous collection type ...' . #1472
  • EnumTypeHandler is not used when the enum has methods. #1489
  • Auto-mapping fails in a result map referenced from a constructor arg with columnPrefix. #1496
  • Constructor auto-mapping could fail when columnPrefix is specified in the parent resultMap. #1495
  • LocalTimeTypeHandler loses fractional seconds part. #1478
  • LocalDateTypeHandler and LocalDateTimeTypeHandler could return unexpected value. #1478
Enhancements:
  • You can now return 'script' from a SQL provider. The returned script is parsed using the language driver specified by @Lang. #1391
  • You can now omit method attribute from SQL provider annotations. #1279
  • You can now get databaseId in SQL providers. #1503
  • The default type handler for LONGVARCHAR is changed from ClobTypeHandler to StringTypeHandler. This improves compatibility with SAP ASE. #1484
There is one backward incompatible changes since 3.5.0.
  • Because of the fix for #1478 , LocalDateTypeHandler, LocalTimeTypeHandler and LocalDateTimeTypeHandler now require a JDBC driver that supports JDBC 4.2 API.
    [EDIT] These type handlers no longer work with Druid. Please see #1516 .
To see the full list of changes, please visit the 3.5.1 milestone page.
Binaries are available on the release page and Maven Central.

Thank you all for your contributions in various forms!

Sincerely,
The MyBatis Team