MyBatis Type Handlers for JSR 310: Date and Time API
The MyBatis type handlers supporting types introduced in JSR 310: Date and Time API.
Installation
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")
Configuration
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>
Supported types
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".