常用注解
@TableName
映射数据库的表名
@TableId
设置主键映射
value属性:映射主键的字段名
type属性:设置主键类型,主键的⽣成策略
type值 | 描述 |
---|---|
AUTO | 数据库⾃增 |
NONE | MP 雪花算法自动生成主键 |
INPUT | 开发者⼿动赋值,如果没有则自增 |
ASSIGN_ID | 雪花算法自动生成主键 ID,主键类型为 Long 或 String |
ASSIGN_UUID | 随机分配UUID,String类型 |
@TableField
映射非主键字段
value属性:映射字段名
exist属性:表示是否为数据库字段,false代表实体类中的成员变量在数据库中没有对应的字段。
select属性:表示是否查询该字段
fill属性:表示是否⾃动填充,(例如create_time、update_time),并且还需要实现元对象处理器接口MetaObjectHandler,并存入容器中。
@Version
标记使用乐观锁,通过 version 字段来保证数据的安全性
数据库表添加 version 字段,默认值为1
对应的实体类添加 version 成员变量,并且添加@Version
注解
新建一个配置类,@Bean添加乐观锁拦截器插件 OptimisticLockerInterceptor
@EnumValue
将数据库的字段映射成实体类的枚举类型成员变量
实体类的枚举类型属性名字 需要和 字段名 对应或使用
@TableField
映射
在枚举类里面对应枚举属性使用 @EnumValue 注解
还需要在application.yml内配置扫描枚举包type-enums-package的位置
@TableLogic
开启逻辑删除
给数据表添加 deleted 字段,并在对应实体类添加成员变量与注解
需要在application.yml 添加如下配置
global-config:
db-config:
logic-not-delete-value: 0
logic-delete-value: 1