Releases: mybatis/mybatis-3
mybatis-3.4.3
Enhancements:
- Allow registering a type handler for a common interface of enums. #947
- Share Jdbc3KeyGenerator and NoKeyGenerator instances #882
- Building UPDATE JOIN statement by SQL Builder #903
Bug fixes:
- Failed to find a statement mapped to a super interface #481
- Default methods support on mappers, does not work for non-public mappers. #905
- foreignColumns with multiple columns validation error #526
- Fix wrong registration logic for LanguageDriver #914
- A boolean property should be able to have two getters: isX() and getX() #906
- Possible unexpected auto-mapping #895
- Excessive memory allocation for primitive arrays in nested resultmaps #927
There should be no backward incompatible change [1].
Follow this link to see the full list of changes.
[1] It is possible that an incorrect result mapping previously worked because of the bug fixed in #895 stops working. Please see #1100 for the details.
mybatis-3.4.2
Here is a list of major enhancements in MyBatis 3.4.2.
- New option 'returnInstanceForEmptyRow' to control the behavior when a query returns a row with all columuns being
null
. #800 - Support 'default methods' on mapper interfaces. #709
- When no type handler is registered to a class, a type handler registered to its superclass can be used. #859
- New attributes
properties
is added to@CacheNamespace
. #841 - New attributes
name
is added to@CacheNamespaceRef
. #842 - Support the mechanism for initializing a cache after set all properties. #816
- Allow users to set default value in placeholders. #852
- Auto-detecting type handlers newly added in version 1.0.2 of TypeHandlers-JSR310. #727 #878
Although it may be rare, the following changes could affect existing solutions.
- The default value of aggressiveLazyLoading is changed to
false
. #825 - Raise a exception when keyProperty is not found. #782
Follow this link to see the full list of changes.
mybatis-3.4.1
This release includes four user visible enhancements
- Allow referencing parameters by their declared names when compiled with Java 8
-parameters
option. #549 - Added auto-detection of Year/MonthTypeHandler added in mybatis-typehandlers-jsr310 1.0.1. #646
@Select
can now return an array of objects. #669- Allow specifying custom
reflectorFactory
in XML config. #657
and six bug fixes.
- Circularly referenced resultMap was filled with ancestor object even when columnPrefix was specified. #215
- Select statement with
@Param
couldn't be used as a nested select statement of association. #649 - RuntimeException was thrown at the startup on IBM WebSphere Application Server 8.5.5.9. #706
- Couldn't use Cursor as the return type of
@Select
statements. #661 - Couldn't use RowBounds as a parameter of select statement whose return type is Cursor. #667
- NullPointerException was thrown when used with Kylin JDBC driver. #699
Here is the complete list of changes.
mybatis-3.4.0
MyBatis 3.4.0 with the following main features:
- New Cursor List method in SqlSession.
- Inherit Spring timeout in transactions.
- Better support for generic types.
- Out-of-the-box support new Date and Time API (JSR-310) classes added in Java 8.
Note that there are changes that may break existing code.
- New method getTimeout() in the Transaction interface. If you implemented your own transaction adapter you will need to implement this method at least with a "return null"
- @options( flushCache ) now takes enum values (DEFAULT/TRUE/FALSE) instead of boolean.
- StatementHandler#prepare(Connection) has been changed to StatementHandler#prepare(Connection,Integer) given that now it gets the transaction timeout.
- SqlSession#selectCursor, Executor#queryCursor, ResultSetHandler#handleCursorResultSets and StatementHandler#queryCursor added. You will need to implement methods if you implemented those interfaces already.
See the details at https://github.com/mybatis/mybatis-3/issues?q=milestone%3A3.4.0+is%3Aclosed
mybatis-3.3.1
The first bug fix release for the 3.3.x branch.
See the details at https://github.com/mybatis/mybatis-3/issues?q=milestone%3A3.3.1
mybatis-3.3.0
Includes two main changes:
- Ognl has been upgraded to 3.0.11 that is the latest version
- The default proxy tool is now Javassist and is included inside the mybatis jar
There are some other minor changes and bug fixes. See the details at https://github.com/mybatis/mybatis-3/issues?q=milestone%3A3.3.0
Note that you can still use CGLIB as the proxy factory tool by adding CGLIB to your classpath and setting the MyBatis global parameter as follows:
<settings>
<setting name="proxyFactory" value="CGLIB"/>
</settings>
mybatis-3.2.8
See the details at https://github.com/mybatis/mybatis-3/issues?q=milestone%3A3.2.8
Yet another bug fix release. Provides 8 minor bug fixes.
mybatis-3.2.7
See the details at https://github.com/mybatis/mybatis-3/issues?milestone=8&state=closed
This release is a hotfix to solve the bug reported in #167 that broke the @one annotation in 3.2.6.
mybatis-3.2.6
See the details at https://github.com/mybatis/mybatis-3/issues?milestone=6&page=1&state=closed
Provides some new features:
- Caches nested selects
- Lazy loading can be enabled only for specific relations
- Supports returning multiple fields in a select key
- Some other minor improvements
A note for users who implemented their own caches or 3rd party cache adapters. MyBatis no longer calls Cache#getReadWriteLock(). Any locking needed by the cache should be implemented internally by the cache. So in case you coded your own cache make sure it is properly synchronized. See issue #159.
mybatis-3.2.5
See the details at https://github.com/mybatis/mybatis-3/issues?milestone=5&page=1&state=closed
Provides 7 bug fixes, 4 of them are regressions coming from 3.2.3 and 3.2.4.