❗️ Note:
❗️ Type handlers for "JSR 310: Date and Time API" has been merged into mybatis core since 3.4.5. (See #974)
The MyBatis type handlers supporting types introduced in JSR 310: Date and Time API.
If you are using Maven add the following dependency to your pom.xml
:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-typehandlers-jsr310</artifactId>
<version>1.0.2</version>
</dependency>
If you are using Gradle add the following dependency to your build.gradle
:
compile("org.mybatis:mybatis-typehandlers-jsr310:1.0.2")
If you are using MyBatis 3.4 or later, you can simply add this artifact on your classpath and MyBatis will automatically register the provided type handlers.
If you are using an older version, you need to add the type handlers to your mybatis-config.xml
as follow:
<typeHandlers>
<!-- ... -->
<typeHandler handler="org.apache.ibatis.type.InstantTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.LocalDateTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.LocalTimeTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.OffsetDateTimeTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.OffsetTimeTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.ZonedDateTimeTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.YearTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.MonthTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.YearMonthTypeHandler" />
<typeHandler handler="org.apache.ibatis.type.JapaneseDateTypeHandler" />
</typeHandlers>
The following type handlers are supported:
Type handler | Date and Time API type | JDBC types | Available version |
---|---|---|---|
InstantTypeHandler |
java.time.Instant |
TIMESTAMP |
|
LocalDateTimeTypeHandler |
java.time.LocalDateTime |
TIMESTAMP |
|
LocalDateTypeHandler |
java.time.LocalDate |
DATE |
|
LocalTimeTypeHandler |
java.time.LocalTime |
TIME |
|
OffsetDateTimeTypeHandler |
java.time.OffsetDateTime |
TIMESTAMP |
|
OffsetTimeTypeHandler |
java.time.OffsetTime |
TIME |
|
ZonedDateTimeTypeHandler |
java.time.ZonedDateTime |
TIMESTAMP |
|
YearTypeHandler |
java.time.Year |
INTEGER |
1.0.1 |
MonthTypeHandler |
java.time.Month |
INTEGER |
1.0.1 |
YearMonthTypeHandler |
java.time.YearMonth |
VARCHAR or LONGVARCHAR |
1.0.2 |
JapaneseDateTypeHandler |
java.time.chrono.JapaneseDate |
DATE |
1.0.2 |
Note:
For more details of type handler, please refer to "MyBatis 3 REFERENCE DOCUMENTATION".