常用注解
仅演示部分注解,全部注解请查阅Mybatis-Plus官网
1.@TableName
- 描述:表名注解,标识实体类对应的表
- 使用位置:实体类
@TableName("user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
2.@TableId
- 描述:主键注解
- 使用位置:实体类主键字段
@TableName("user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
private String email;
}
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 主键字段名 |
type | Enum | 否 | IdType.NONE | 指定主键类型 |
IdType
值 | 描述 |
---|---|
AUTO | 数据库 ID 自增 |
NONE | 无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) |
INPUT | insert 前自行 set 主键值 |
ASSIGN_ID | 分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator 的方法nextId (默认实现类为DefaultIdentifierGenerator 雪花算法) |
ASSIGN_UUID | 分配 UUID,主键类型为 String(since 3.3.0),使用接口IdentifierGenerator 的方法nextUUID (默认 default 方法) |
UUID | 32 位 UUID 字符串(please use ASSIGN_UUID ) |
ID_WORKER_STR | 分布式全局唯一 ID 字符串类型(please use ASSIGN_ID ) |
3.@TableField
- 描述:字段注解(非主键)
@TableName("user")
public class User {
@TableId
private Long id;
@TableField("name")
private String name;
private Integer age;
private String email;
}
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 数据库字段名 |
exist | boolean | 否 | true | 是否为数据库表字段 |
4.@TableLogic
- 描述:表字段逻辑处理注解(逻辑删除)
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 逻辑未删除值 |
delval | String | 否 | "" | 逻辑删除值 |
@TableName("user")
public class User {
@TableId
private Long id;
@TableField("name")
private String name;
private Integer age;
private String email;
@TableLogic
private Integer deleted;
}
5.@Version
- 描述:乐观锁注解、标记
@Version
在字段上
@TableName("user")
public class User {
@TableId
private Long id;
@TableField("name")
private String name;
private Integer age;
private String email;
@TableLogic
private Integer deleted;
@Version
private Integer version;
}