类型处理器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' : {.....}这样的格式
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。