Mybatis-Plus 实体类中常用注解-标记不是数据库字段和属性字段为空不进行序列化,不产生空值影响前端使用
@TableField
@TableField(exist = false)
注解加载bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用bean的时候,mybatis-plus就会忽略这个,不会报错。
@TableField(fill = FieldFill.INSERT)
@TableLogic 注解表示逻辑删除
/** 创建时间 */
@TableField(fill = FieldFill.INSERT, update = "LOCALTIMESTAMP")
private java.util.Date createTime;
/** 更新时间 */
@TableField(fill = FieldFill.INSERT_UPDATE, update = "LOCALTIMESTAMP")
private java.util.Date updateTime;
@JsonInclude(JsonInclude.Include.NON_NULL)
JsonJsonInclude.Include.ALWAYS 这个是默认策略,任何情况下都序列化该字段,和不写这个注解是一样的效果。
JsonJsonInclude.Include.NON_NULL这个最常用,即如果加该注解的字段为null,那么就不序列化这个字段了
JsonJsonInclude.Include.NON_DEFAULT 属性为默认值不序列化
JsonJsonInclude.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
JsonJsonInclude.NON_NULL 属性为NULL 不序列化
@JsonProperty(“name”)
对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式,此处在进行映射的时候,就可以使用该注解。
@JsonProperty(access= JsonProperty.Access.WRITE_ONLY),可以单独指定用于反序列化
@JsonFormat
此注解用于属性或者方法上,可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = “yyyy-MM-dd HH-mm-ss”)。