前言

相信大家应该都知道,在实体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. 每日一题(字符串拆分)
  2. 详解C#的数学类,Math,浮点数(上)
  3. linux nginx svn 安装
  4. vba中的查找匹配函数
  5. 作者:项连城(1992-),女,中国科学院自动化研究所硕士生
  6. iPhone 12 Mini曝光:售价5000内、电池容量不忍看
  7. C++类的继承与多重继承的访问控制【protected,private继承方式】
  8. 安徽蚌埠市国家计算机等级考试官网,2019年下半年安徽省蚌埠市全国计算机等级考试费用...
  9. 关于gcc的一点小人性化提示
  10. Win2008系统下装CTBS之前的系统组件安装向导第二篇(补充篇)
  11. PID公式的推导过程及实现代码
  12. Cartographer 源码解析1.1 —— 算法整体结构
  13. 左神算法:找到二叉树中的最大搜索二叉子树(树形dp套路,Java版)
  14. Exception raised: Traceback (most recent call last):
  15. 拼团系统开发|全民拼购商业模式解读
  16. 几种贴图压缩方式详解
  17. R语言 【integrate】函数
  18. 二维数组作为参数传递问题
  19. org.apache.solr.client.solrj.impl.CloudSolrServer$RouteException: Exception writing document id xxxx
  20. 顺序表的基本操作(详细、全面)

热门文章

  1. axure rp 8.0
  2. Delphi的StringReplace[转]
  3. 行为类模式--策略模式
  4. 设置span的宽度,让span象button那样显示
  5. Tesorflow:module 'pandas.core.computation' has no attribute 'expressions'
  6. Python学习笔记:常用内建模块6 (urllib)
  7. ubuntu安裝opencv3.4.1
  8. 组会PPT20201030《复现chen结果及初始密度影响》
  9. ustc小道消息20211225
  10. 科大星云诗社动态20220115