Mybatis映射LocalDateTime所出现的问题
使用JDK1.8的LocalDateTime、LocalDate、LocalTime。
问题点
在mybatis中传入参数为LocalDateTime,查询返回结果为空。
如何解决
mybatis在3.4.6之前是不支持LocalDateTime,所以更改pom.xml文件中mybatis的版本就可以解决。
1 2 3 4 5 6
| <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency>
|
或者低于3.4.6版本
加入如下依赖
1 2 3 4 5
| <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-typehandlers-jsr310</artifactId> <version>1.0.1</version> </dependency>
|
以上仅在mybatis 3.4.0版本中测试有效。
如果使用的mybatis版本低于3.4.0,则还需要在配置文件添加如下:
1 2 3 4 5 6 7 8 9
| <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" /> </typeHandlers>
|