mybatis中使用Java8的日期LocalDate、LocalDateTime
来源:互联网 发布:知乎日报api接口 编辑:程序博客网 时间:2024/05/29 06:53
大家知道,在实体Entity里面,可以使用java.sql.Date、java.sql.Timestamp、java.util.Date来映射到数据库的date、timestamp、datetime等字段
但是,java.sql.Date、java.sql.Timestamp、java.util.Date这些类都不好用,很多方法都过时了。
Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime 非常好用
默认的情况下,在mybatis里面不支持java8的时间、日期。直接使用,会报如下错误
Caused by: java.lang.IllegalStateException: No typehandler found for property createTimeat org.apache.ibatis.mapping.ResultMapping$Builder.validate(ResultMapping.java:151)at org.apache.ibatis.mapping.ResultMapping$Builder.build(ResultMapping.java:140)at org.apache.ibatis.builder.MapperBuilderAssistant.buildResultMapping(MapperBuilderAssistant.java:382)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:378)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)... 81 common frames omitted
解决方法如下:
直接加入如下依赖
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-typehandlers-jsr310</artifactId><version>1.0.1</version></dependency>配置好这个依赖之后,就可以把Entity里面的Date替换成LocalDate、LocalDateTime了,其他的不用改
public class User {private Integer id;private String name;private LocalDate createDate;private LocalDateTime createTime;}
以上仅在mybatis 3.4.0版本中测试有效
如果使用的mybatis版本低于3.4.0,则还需要配置如下
<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>
2 0
- mybatis中使用Java8的日期LocalDate、LocalDateTime
- mybatis中使用Java8的日期LocalDate、LocalDateTime
- JPA(Hibernate)中使用Java8的日期LocalDate、LocalDateTime
- JDBC中使用Java8的日期LocalDate、LocalDateTime
- JDBC中使用Java8的日期LocalDate、LocalDateTime
- Java8 LocalDate/LocalDateTime常用方法
- java8 LocalDate LocalDateTime等时间类介绍
- LocalDate LocalTime java8新的时间日期库及使用示例
- java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
- java8 Date,Timestamp,LocalDate,LocalTime,LocalDateTime,Instant互转
- LocalDate, LocalTime, LocalDateTime, and Instant表示时间点的日期-时间类的通用方法
- Date与LocalDate,LocalDateTime,LocalTime的转换
- 如何在java8中愉快地处理日期和时间java8新增了localdate和localtim
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- Java8中 Date和LocalDateTime的相互转换
- Java8中 LocalDate和java.sql.Date的相互转换
- Java8中 Date和LocalDate的相互转换
- 安卓Andriod使用入门(六)【动态GridView控件】
- 如何找出标有"App Store 精华","Essentials"的所有软件?
- 376. Wiggle Subsequence
- windows 10 启动MYSQL
- Linux编译和安装boost库
- mybatis中使用Java8的日期LocalDate、LocalDateTime
- 使用友盟社会化分享组件实现第三方登录
- 伪随机生成算法(线性同余算法)
- strut2接收参数的三种方式(属性驱动\对象驱动\模型驱动)说明
- 第11周OJ实践 判断三角形形状
- DeepRebirth——通过融合加速网络
- java--获取数据库元数据
- VistualSvnServer安装错误
- SQL代码-创建DeskInfo表