跳到主要内容

常用注解

仅演示部分注解,全部注解请查阅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;
}
属性类型必须指定默认值描述
valueString""主键字段名
typeEnumIdType.NONE指定主键类型

IdType

描述
AUTO数据库 ID 自增
NONE无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)
INPUTinsert 前自行 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 方法)
UUID32 位 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;
}
属性类型必须指定默认值描述
valueString""数据库字段名
existbooleantrue是否为数据库表字段

4.@TableLogic

  • 描述:表字段逻辑处理注解(逻辑删除)
属性类型必须指定默认值描述
valueString""逻辑未删除值
delvalString""逻辑删除值
@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;
}