mybatis类型处理器JSR310标准详解

类型处理器JSR310标准

首先什么是JSR310标准,其实就是新出的一些日期类型等的标准在,mybatisplus3.4之后会自己识别,但是在之前的版本就需要手动进行引入。


   org.mybatis
   mybatis-typehandlers-jsr310
   1.0.1


    com.fasterxml.jackson.datatype
    jackson-datatype-jsr310
    2.9.2

引入之后,mybatis中的日期类型关系就可以使用JSR310的类型进行对应了,

  • LocalDate映射数据库中的date类型
  • LocalTime来映射数据库中的time类型
  • LocalDateTime字段来映射数据库中的datetime类型

使Jackson和Mybatis支持JSR310标准

1、首先要确保Jackson和Mybatis正确地整合进项目了

2、添加额外的依赖

        
            org.mybatis
            mybatis-typehandlers-jsr310
            1.0.1
        
        
            com.fasterxml.jackson.datatype
            jackson-datatype-jsr310
            2.9.2
        

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' : {.....}这样的格式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(mybatis类型处理器JSR310标准详解)