All Versions
Latest Version
Avg Release Cycle
125 days
Latest Release
213 days ago

Changelog History
Page 2

  • v3.4.3 Changes

    April 07, 2017

    โœจ 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
    • 0๏ธโƒฃ 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.

  • v3.4.2 Changes

    January 03, 2017

    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.

    • 0๏ธโƒฃ 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.

  • v3.4.1 Changes

    June 26, 2016

    ๐Ÿš€ 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 #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.

  • v3.4.0 Changes

    April 19, 2016

    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"
    • 0๏ธโƒฃ @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.

    ๐Ÿ‘€ See the details at