mybatis类型处理器JSR310标准详解
作者:wqdsfwer
这篇文章主要介绍了mybatis类型处理器JSR310标准详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
类型处理器JSR310标准
首先什么是JSR310标准,其实就是新出的一些日期类型等的标准在,mybatisplus3.4之后会自己识别,但是在之前的版本就需要手动进行引入。
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-typehandlers-jsr310</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.9.2</version> </dependency>
引入之后,mybatis中的日期类型关系就可以使用JSR310的类型进行对应了,
LocalDate
映射数据库中的date类型LocalTime
来映射数据库中的time类型LocalDateTime
字段来映射数据库中的datetime类型
使Jackson和Mybatis支持JSR310标准
1、首先要确保Jackson和Mybatis正确地整合进项目了
2、添加额外的依赖
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-typehandlers-jsr310</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.9.2</version> </dependency>
3、至此,Po类中的域,可以用LocalDate来映射数据库中的date类型字段了,可以用LocalTime来映射数据库中的time类型字段了,可以用LocalDateTime字段来映射数据库中的datetime类型字段了
4、为LocalDate/LocalTime/LocalDateTime类型的私用域添加@JsonFormat主键,如下所示
public class TimeEntity { private Integer id; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate date_field; @JsonFormat(pattern = "HH:mm:ss") private LocalTime time_field; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime datetime_field; // Getters and setters ignore. }
至此,这些私有域会被转化成一个类似 'time_field' : '12:01:00'这样格式,而不是'time_field' : {.....}这样的格式
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。