前言

相信大家应该都知道,在实体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 createTime

at 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

解决方法如下:

直接加入如下依赖

org.mybatis

mybatis-typehandlers-jsr310

1.0.1

配置好这个依赖之后,就可以把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,则还需要配置如下

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

mybatis java8_mybatis如何使用Java8的日期LocalDate和LocalDateTime详解相关推荐

  1. java8 mysql datetime_在JDBC中使用Java8的日期LocalDate、LocalDateTime

    在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是 ...

  2. linux脚本日期时间,Linux 日期和时间操作详解

    Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07   作者:佚名   我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...

  3. mysql日期时间操作函数详解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. win7可以设定每周从哪一天开始,win2003等不能方便的修改.有的是周日开始,有的是周一开始.而 ...

  4. 【java8新特性】——Stream API详解(二)

    一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...

  5. java8中的lambda表达式实用详解

    java8中的lambda表达式实用详解 1. lambda简介 ​ Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中 ...

  6. 关于日期正则表达式的思路详解

    1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN ...

  7. 9 mybatis中使用Java8的日期LocalDate、LocalTime、LocalDateTime

    注意: 1.大家知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.dat ...

  8. Java 8日期– LocalDate,LocalDateTime,即时

    Java 8 Date Time API is one of the most sought after change for developers. Java has been missing a ...

  9. Java8新特性之Steam流详解

    流的操作包含如下三个部分:创建流.中间流.关闭流,筛选.去重.映射.排序属于流的中间操作,收集属于终止操作.Stream是流操作的基础关键类. 一.创建流 (1)通过集合创建流 // 通过集合创建流 ...

最新文章

  1. 蚂蚁森林合种计划(2020.11.14,7天有效,每周6更新)
  2. NSProxy的理解和使用
  3. mysqldump: command not found
  4. element 修改分页样式_如何给wordpress网站的文章列表,添加分页效果?可以通过2种方式...
  5. IOC AOP 设计模式
  6. 通过Okta的单点登录保护Spring Boot Web App的安全
  7. 专题导读:大数据整理
  8. 基于大数据搭建社交好友推荐系统
  9. arcgis分隔图层重复出文件_ArcGIS制图技巧讲解,处理好细节才能让图更专业!
  10. 关于ckeditor的配置
  11. 51Nod-1080 两个数的平方和【暴力法】
  12. 如何给linux安装yum,linux如何安装yum
  13. mysql修复表命令_mysql命令修复数据库表
  14. WPS 2000使用技巧点滴
  15. 爬虫实战——爬取电影天堂的电影详情页信息
  16. python爬取LOL皮肤
  17. 消费者人群画像 python_一步一步教你分析消费者大数据
  18. 2023年软考初级程序员
  19. 24段魔尺,可以折出哪些精美图案(续)
  20. 一阶二阶多智能体一致性控制的Matlab程序

热门文章

  1. Spring中Bean的配置方式之通过全类名(反射)
  2. 2015年10月5日 正式启用该博客
  3. iOS发展- 文件共享(使用iTunes导入文件, 并显示现有文件)
  4. 横向经济联合的理论认识
  5. 手机web——自适应网页设计(html/css控制) - 51CTO.COM
  6. 爱要大声“手”出来!一个程序猿的七夕表白应用!
  7. 深度之眼课程打卡-统计学习方法01
  8. [云炬学英语]每日一句2020.9.5
  9. Python的第一个程序 Hello world
  10. 开源!《模式识别与机器学习(PRML)》笔记、代码、NoteBooks 发布