写点什么

Martian 3.2.18 发布,弃用 FastJson

发布于: 2021 年 03 月 21 日

本次更新如下


  1. 开放 JWT 秘钥配置权限

  2. 丢弃 FastJson 改用 Jackson


JWT 秘钥配置权限


在配置类重写此方法即可


@Overridepublic JWTConfig jwtConfig() {     JWTConfig jwtConfig = new JWTConfig();     // token失效时间单位,默认: 秒     jwtConfig.setCalendarField(Calendar.SECOND);     // token失效时间,默认: 86400秒     jwtConfig.setCalendarInterval(86400);     // 秘钥,默认: 一个UUID     jwtConfig.setSecret(UUID.randomUUID().toString());     return jwtConfig;}
复制代码


改用 Jackson 后有哪些影响


除了实体类映射有影响之外,其他地方均不受影响


一、实体类的字段映射


开发中经常出现这种情况,实体类的命名规范是驼峰,而数据库字段是下划线分割,所以会出现对不上的情况,这个时候我们可以用这个注解来解决:


com.fasterxml.jackson.annotation.JsonProperty
复制代码


在实体类的字段上加上这个注解,设置 name 属性为数据库字段名


public class TestPO{
@JsonProperty(value = "数据库里的name字段名") private String name; @JsonProperty(value = "数据库里的age字段名") private String age; @JsonProperty(value = "数据库里的id字段名") private int id;
}
复制代码


二、避免字段不一致而报错


  • 有时候,我们查询出来的结果集里面的字段,在实体类里面会找不到

  • 比如,实体类的字段是 a, b 但是结果集里面的字段是 a, b, c,这个 c 在实体类里不存在

  • 这种情况下会出现异常,所以为了避免这个异常的出现,可以用到这个注解:


com.fasterxml.jackson.annotation.JsonIgnoreProperties
复制代码


在实体类上加上这个注解即可


@JsonIgnoreProperties(ignoreUnknown = true)public class TestPO{

}
复制代码


三、指定日期格式


当实体类里面出现了 Date 类型,在执行数据库操作的时候会出异常,所以需要指定一个日期格式, 指定格式可以用这个注解:


com.fasterxml.jackson.annotation.JsonFormat
复制代码


在实体类上加上这个注解即可


@JsonIgnoreProperties(ignoreUnknown = true)public class TestPO{
@JsonProperty("create_time") @JsonFormat(pattern = "yyyy-MM-dd HH🇲🇲ss") private Date createTime;
}
复制代码


实体类需要写 get/set 方法,或者用 lombok 注解


更多信息可以前往官网查看


http://mars-framework.com/


发布于: 2021 年 03 月 21 日阅读数: 18
用户头像

还未添加个人签名 2020.12.08 加入

还未添加个人简介

评论

发布
暂无评论
Martian 3.2.18 发布,弃用 FastJson