1.@TableName
@TableName(value=" User")
public class Account {
private Integer id;
private String name;
private Integer age;
}
当要从user表查询时,加注释,映射数据库表名
2.@TableId
设置主键映射, value映射主键字段名,和数据库完成映射,当前查询的字段和数据库名称不一致
type设置主键类型,主键的生成策略
3.@TableField
设置非主键字段,value映射字段名,exist表示是否是数据库字段,(数据库中没有该字段,设置为false,让查询的时候忽略该字段),VO,DTO。
select表示在查询的时候是否要查询该字段
fill表示是否自动填充,将对象存入数据库的时候,由Mybatis Plus自动给某些字段自动赋值。(create_time、update_time)
4.@Version
标记乐观锁,处理并发的一种解决方案。通过version字段来保证数据的安全性,当修改数据时,会以version作为条件,当条件成立时,修改才能够成功。
线程 1:update ... set version = 2 where version = 1
线程2 :update ... set version = 2 where version = 1
保证了多线程的时候同时只能有一个线程去修改数据,保证了数据的一致性。
- 数据库表添加 version 字段,默认值为 1
- 实体类添加 version 成员变量,并且添加 @Version
- 写一个配置类让乐观锁生效。
5.@EnumValue
枚举映射
通用枚举类注解,将数据库字段映射成实体类的枚举类型成员变量
还可以通过实现接口的方式来实现枚举
6.@TableLogic
映射逻辑删除(不是真正的删除)
- 数据库中添加deleted字段
- 实体类添加注解