1、@TableField
TableField注解新增属性 update 预处理 set 字段自定义注入
代码样例:
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
2、@EnumValue
在实际开发中,对于一些状态类的字段,我们通常使用的是枚举,而保存到数据库时,我们是用的枚举的某一个属性进行保存的,这里就会有一个问题,在POJO类中,如果我们直接使用枚举类型去映射数据库的对应字段保存时,往往就会因为类型不匹配导致映射失败,如果要解决这个问题,办法有很多种,Mybatis-plus提供了一种解决办法,就是使用@EnumValue注解,这里我们就使用这种方式。
3、@TableName
实现实体类型和数据库中的表实现映射。
@TableName("sys_dict")
与表sys_dict实现映射。
4、@TableId
@TableId注解是专门用在主键上的注解,如果数据库中的主键字段名和实体中的属性名,不一样且不是驼峰之类的对应关系,可以在实体中表示主键的属性上加@Tableid注解,并指定@Tableid注解的value属性值为表中主键的字段名既可以对应上。
@TableId(value = "dept_id", type = IdType.AUTO)
private Integer deptId;
5、@ InterceptorIgnore
多租户屏蔽某个特定mapper的方法
6、@ KeySequence
1、@KeySequence 与 业务主键的 setId(XXX) 互斥,若要使⽤业务主键,就删除@KeySequence
若使⽤数据⾃⽣成的主键就仅仅使⽤@KeySequence
2、@KeySequence type = IdType.INPUT 优先级⾼于setId(XXX) 主键的设置⽅式
7、@TableLogic
1、在实体类中属性加上@TableLogic注解,表示该字段是逻辑删除字段。
2、增加注解后调用BaseMapper的deleteById(id)或者IService的removeById(id),是逻辑删除。如果没有增加该注解,是真删除。
3、@TableLogic注解参数
value = “未删除的值,默认值为0”
delval = “删除后的值,默认值为1”
如果不设置,就使用默认值
8、@Version
乐观锁。