@TableLogic @TableField @JsonIgnore @XmlTransient @Version @EqualsAndHashCode

@TableLogic

在字段上加上这个注解再执行BaseMapper的删除方法时,删除方法会变成修改

例:

 实体类:
       @TableLogic
      private Integer del;
 service层:
      调用BaseMapper的deleteById(id);
 执行效果:

      加@TableLogic的情况下

      走 Update 表名 set 加注解的列=值 where del=值

        不加@TableLogic的情况下

      走 delete from 表名 where del=值

  @TableLogic注解参数

    value = "" 默认的原值

    delval = "" 删除后的值

    @TableLogic(value="原值",delval="改值")

@TableField

描述:字段注解(非主键)

属性类型必须指定默认值描述
value String "" 字段名
el String "" 映射为原生 #{ ... } 逻辑,相当于写在 xml 里的 #{ ... } 部分
exist boolean true 是否为数据库表字段
condition String "" 字段 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s},参考
update String "" 字段 update set 部分注入, 例如:update="%s+1":表示更新时会set version=version+1(该属性优先级高于 el 属性)
strategy Enum FieldStrategy.DEFAULT 字段验证策略 3.1.2+使用下面3个替代
insertStrategy Enum N DEFAULT 举例:NOT_NULL: insert into table_a(<if test="columnProperty != null">column</if>) values (<if test="columnProperty != null">#{columnProperty}</if>) (since v_3.1.2)
updateStrategy Enum N DEFAULT 举例:IGNORED: update table_a set column=#{columnProperty} (since v_3.1.2)
whereStrategy Enum N DEFAULT 举例:NOT_EMPTY: where <if test="columnProperty != null and columnProperty!=''">column=#{columnProperty}</if> (since v_3.1.2)
fill Enum FieldFill.DEFAULT 字段自动填充策略
select boolean true 是否进行 select 查询
keepGlobalFormat boolean false 是否保持使用全局的 format 进行处理(@since 3.1.1)

@JsonIgnore

作用:在实体类向前台返回数据时用来忽略不想传递给前台的属性或接口。
Eg:Bean实体中会有某些运维字段,在返回信息给前台的时候,当不希望将对应值也一并返回;
  此时可以在对应属性上加上注解JsonIgnore或者,可以在User类上加上注解@JsonIgnoreProperties(value = "{password}")

@XmlTransient

  @XmlTransient用于标示在由java对象映射xml时,忽略此属性。即,在生成的xml文件中不出现此元素。

@Version 

  乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。

@EqualsAndHashCode

  • 此注解会生成equals(Object other) 和 hashCode()方法。
  • 它默认使用非静态,非瞬态的属性
  • 可通过参数exclude排除一些属性
  • 可通过参数of指定仅使用哪些属性
  • 它默认仅使用该类中定义的属性且不调用父类的方法
原文地址:https://www.cnblogs.com/daichunchun/p/15018624.html