学无先后,达者为师

网站首页 前端文档 正文

mybatis类型处理器JSR310标准详解_java

作者:wqdsfwer   更新时间: 2022-04-07 前端文档

类型处理器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' : {.....}这样的格式

原文链接:https://blog.csdn.net/wqdsfwer/article/details/107377978

栏目分类
最近更新