MyBatis SQL mapper framework for Java
Security:
Invocation
from being used by vulnerable applications. #3115Bugs:
Enhancements:
Performance:
Build:
Please see the 3.5.16 milestone page or commit log for the complete list of changes.
Bug fixes:
There is no known backward incompatible change since 3.5.13.
Please see the 3.5.14 milestone page for the complete list of changes.
This is a maintenance release to address the regression bug found in 3.5.12.
Bug fix:
"The Great Cleanup"
User impactful changes
#2703 Referencing collection parameter by name fails fixing #2693
#2709 Fix a race condition caused by other threads calling mapper methods while mapped tables are being constructed
#2727 Enable ability to provide custom configuration to XMLConfigBuilder
#2731 Adding mapper could fail under JPMS
#2741 Add 'affectedData' attribute to @Select, @SelectProvider, and <select />
#2767 Resolve resultType by namespace and id when not provided resultType and resultMap
#2804 Search readable property when resolving constructor arg type by name
Minor correction: 'boolean' can never be null (primative)
General library updates
Uses parameters option for compiler now (needed by spring boot 3) (for reflection needs)
Code cleanup
Build
Documentation
For Contributors:
// @formatter:off
and // @formatter:on
around block of code to be ignored on formatting. If within a javadoc, since its a comment type, the entire thing is affected so just wrap this around the entire javadoc. Try to ensure code inside the non formatting block is appropriately formatted otherwise to ease readability.affectData
attribute to @Select
, @SelectProvider
and <select />
by @harawata in https://github.com/mybatis/mybatis-3/pull/2741
resultType
of <select>
by @FlyInWind1 in https://github.com/mybatis/mybatis-3/pull/2767
Full Changelog: https://github.com/mybatis/mybatis-3/compare/mybatis-3.5.11...mybatis-3.5.12
Bug fixes:
returnInstanceForEmptyRow
is not applied to constructor auto-mapping. #2665There is no known backward incompatible change since 3.5.10.
Please see the 3.5.11 milestone page for the complete list of changes.
Bug fixes:
InaccessibleObjectException
on Java 16+) when calling method in OGNL expression. #2392IllegalAccessException
when auto-mapping Records (JEP-359) #2195PooledConnection#getConnection()
is interrupted. #2503Enhancements:
argNameBasedConstructorAutoMapping
is added. If enabled, constructor argument names are used to look up columns when auto-mapping. #2192skipSetAutoCommitOnClose
to JdbcTransactionFactory
. Skipping setAutoCommit()
call could improve performance with some drivers. #2426<idArg />
can now be listed after <arg />
in <constructor />
. #2541There is no known backward incompatible change since 3.5.9.
Please see the 3.5.10 milestone page for the complete list of changes.
List of changes:
nullable
to <foreach />
. If enabled, it skips the iteration when the collection is null
instead of throwing an exception. To enable this feature globally, set nullableOnForEach=true
in the config. #1883We also updated the version of Log4J dependency to 2.17.0. Note that the scope of Log4J dependency in MyBatis' pom.xml is 'optional' and it is very important for you to understand what it means.
Please see the 3.5.9 milestone page for the complete list of changes. There is no known backward incompatible change since 3.5.8.
List of changes:
NullPointerException
when mapping an empty string to java.lang.Character
. #2368Please see the 3.5.8 milestone page for the complete list of changes. There is no known backward incompatible change since 3.5.7.
Bug fixes:
There is no known backward incompatible change since 3.5.6.
Please see the 3.5.7 milestone page for the complete list of changes.