我们知道java8之前的Java.sql.Date、java.sql.Timestamp、java.util.Date来映射到数据库的date、timestamp、datetime等字段,但很显然这些api已经过时了。
默认情况下,mybatis是不支持这些新的日期api的使用的,直接使用是报错的,于是自己去stackoverflow检索了一下mybatis的使用方式。github上提供了相应的插件,自己花了一个小时稍微整理一下。
Mybatis对Java 8 time (JSR 310)支持
加入插件依赖:
maven:
org.mybatis
mybatis-typehandlers-jsr310
1.0.2
gradle:
compile("org.mybatis:mybatis-typehandlers-jsr310:1.0.2")
配置:
如果你使用的是mybatis3.4或者之后的版本,那么将mybatis3.4的依赖加入到classpath路径下会自动的配置类型映射处理器。如果是mybatis之前的版本,则需要加入下面的配置到mybatis-config.xml,
我自己写的demo因为使用的是mybatis3.4的依赖,所以并没有添加上面的配置到mybatis-config.xml配置文件中,
mybatis为java.time.*下提供了以下类型处理器:
支持的类型
具体的demo如下:</