时间类型
Java 8提供了新的时间API,相关介绍大家可以自行搜索或者直接参考这篇Java中的时间与时区,因此大家在写实体类时,可以放弃用以前的Date或者Timestamp类型了,直接用LocalDateTime类就行了,MyBatis从3.4.5版本开始就完全支持这种类型了,根本不用自己再去写什么类型转换,目前网上搜到的大部分文章还是让我们自己去实现,其实不用的。
我们来看看其官方文档:
mybatis-3.4.5 @harawata harawata released this on 20 Aug 2017 · 472
commits to master since this release Enhancements: Make default enum
type handler customizable. #971 Make mapper method and its interface
type accessible to SqlProvider. #1055 Allow using configuration
properties in SqlProvider. #1061 Merge type handlers for JSR-310 (Java
Date and Time API) into the core. #974
使用localdatetime进行前后端传值问题
我们如果直接使用localdatetime进行发送到前端,前端展示的数据会变成201114534类似的数据,直观效果不好,我们要对他进行格式化,可以在实体类中加入注解进行格式化
@DateTimeFormat注解 //是前端往后段传的时候使用
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
//加在实体类中,然后controller中直接使用这个实体类接收参数。当前端传固定格式的字符串的时候会转换成date
LocalDateTime time;
@JsonFormat注解 //后端往前端传输的时候使用
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
//加在实体类中,直接发送实体到前端 前端获取到这个字段的值会变成这个格式的时间字符串
LocalDateTime time;