• @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指定仅使用哪些属性
    • 它默认仅使用该类中定义的属性且不调用父类的方法
  • 相关阅读:
    java api 中的设计模式之组合(composite)
    Java api 中设计模式之适配器模式(Adapter)
    win 7 C盘清理
    centos 与 redhat 以及 mysql 与 Oracle
    tsung生成报表时报错
    对MySQL的死连接Sleep的进程的来源研究[转]
    商派ecstore后台配置微信支付应该注意的问题
    商派crm的内存计算组件配置mysql5.6的问题
    php-curl无法编译
    ecstore目录系统预占字符
  • 原文地址:https://www.cnblogs.com/daichunchun/p/15018624.html
Copyright © 2020-2023  润新知