Java 8 date/time type `java.time.LocalDateTime` not supported by default

SpringBoot 整合 Redis 时间日期类转换出错

报错信息

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 
Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module 
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through 
reference chain: java.util.ArrayList[0]->com.zym.entity.Banner["gmtCreate"])

原因:将集合等数据存入 redis 需要将其序列化,jackson 不支持数据中的 LocalDateTime 类型的属性

解决办法:

引入额外的依赖 com.fasterxml.jackson.datatype:jackson-datatype-jsr310

<dependency>
 <groupId>com.fasterxml.jackson.datatype</groupId>
 <artifactId>jackson-datatype-jsr310</artifactId>
 <version>2.13.0</version>
</dependency>

然后在对应的使用了 LocalDateTime 的实体类属性上添加序列化和反序列化注解,并指定对应的序列化类

@JsonDeserialize(using = LocalDateTimeDeserializer.class)		// 反序列化
@JsonSerialize(using = LocalDateTimeSerializer.class)		// 序列化
@TableName("edu_teacher")
@ApiModel(value = "Teacher对象", description = "讲师")
public class Teacher implements Serializable {

    private static final long serialVersionUID = 1L;

      @ApiModelProperty("创建时间")
      @TableField(fill = FieldFill.INSERT)
      @JsonDeserialize(using = LocalDateTimeDeserializer.class)		// 反序列化
      @JsonSerialize(using = LocalDateTimeSerializer.class)		// 序列化
      private LocalDateTime gmtCreate;

      @ApiModelProperty("更新时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
      @JsonDeserialize(using = LocalDateTimeDeserializer.class)		// 反序列化
      @JsonSerialize(using = LocalDateTimeSerializer.class)		// 序列化
      private LocalDateTime gmtModified;

    
    
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

      public void setGmtCreate(LocalDateTime gmtCreate) {
          this.gmtCreate = gmtCreate;
      }
    
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

      public void setGmtModified(LocalDateTime gmtModified) {
          this.gmtModified = gmtModified;
      }

    @Override
    public String toString() {
        return "Teacher{" +
                  ", gmtCreate=" + gmtCreate +
                  ", gmtModified=" + gmtModified +
              "}";
    }
}
  • 21
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值