1. @TableName注解
2. @TableId注解
- 指定属性所对应的字段作为主键
- 两个属性
- type属性:用于指定主键生成的字段
- value属性:用于指定主键生成策略
3. @TableField注解
4. @TableLogic
案例:
@Data
@TableName("t_user")
public class User {
@TableId("uid")
private Long id;
@TableField("user_name")
private String name;
private Integer age;
private String email;
private SexEnum sex;
@TableLogic
private Boolean isDeleted;
}
5. @Version注解
- 指定乐观锁版本号字段
- 防止数据被重复操作
- 防止两个线程同时操作同一个数据,保证数据的安全性
6. @EnumValue注解
案例: 第一步:编写性别枚举类(为什么要将Integer属性标识为要存储到数据库中的属性呢?那是因为数据库中对应的性别字段为int类型)
@Getter
public enum SexEnum {
MALE(1, "男"),
FEMALE(2, "女");
@EnumValue
private Integer sex;
private String sexName;
SexEnum(Integer sex, String sexName) {
this.sex = sex;
this.sexName = sexName;
}
}
第二步:将枚举类添加到JavaBean 第三步:再配置文件中添加枚举扫描包配置项
7. @DS注解
- 切换数据源
- 不能使用事务,否则数据源不会切换,使用的还是第一次加载的数据源;
- 第一次加载数据源之后,第二次、第三次…操作其它数据源,如果数据源不存在,使用的还是第一次加载的数据源;
|