实体类的字段映射

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

  1. com.fasterxml.jackson.annotation.JsonProperty

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

  1. public class TestPO{
  2. @JsonProperty(value = "数据库里的name字段名")
  3. private String name;
  4. @JsonProperty(value = "数据库里的age字段名")
  5. private String age;
  6. @JsonProperty(value = "数据库里的id字段名")
  7. private int id;
  8. }

避免字段不一致而报错

  • 有时候,我们查询出来的结果集里面的字段,在实体类里面会找不到
  • 比如,实体类的字段是 a, b 但是结果集里面的字段是 a, b, c,这个c在实体类里不存在
  • 这种情况下会出现异常,所以为了避免这个异常的出现,可以用到这个注解:

    1. com.fasterxml.jackson.annotation.JsonIgnoreProperties

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

  1. @JsonIgnoreProperties(ignoreUnknown = true)
  2. public class TestPO{
  3. }

指定日期格式

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

  1. com.fasterxml.jackson.annotation.JsonFormat

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

  1. @JsonIgnoreProperties(ignoreUnknown = true)
  2. public class TestPO{
  3. @JsonProperty("create_time")
  4. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  5. private Date createTime;
  6. }

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