一、前言
Mybatis-Plus是一个在Mybatis基础上进行增强的ORM框架,提供了许多便捷的注解来简化数据库操作。本文将介绍Mybatis-Plus常用的注解以及它们的使用方法。
二、常用注解
2.1、@TableName
@TableName注解用于指定实体类对应的数据库表名。使用该注解可以省去手动编写SQL语句的繁琐过程。
实例:表名为 db_user,对应的实体类 User
@TableName(value = "db_user")
public class User {
// 实体类字段
}
2.2、@TableId
@TableId注解用于标识实体类的主键字段。Mybatis-Plus支持多种主键生成策略,如自增、UUID等。通过type
type的值 | 描述 |
---|---|
AUTO | 数据库ID自增 |
NONE | 无状态,该类型为未设置主键类型 |
INPUTE | insert 前自行set主键值 |
ASSIGN_ID | 分配ID(主键类型为Number(Long或Integer)或String,使用接口IdentifierGenerator 的方法 nextId(默认实现类为DefaultIdentifierGenerator 雪花算法)) |
ASSIGN_UUID | 分配UUID,主键类型为String,使用接口IdentifierGenerator 的方法nextUUID(默认default方法) |
ID_WORKER | 分布式全局唯一ID,长整型类型 |
UUID | 32位UUID字符串 |
ID_WORKER_STR | 分布式全局唯一ID,字符串类型 |
比如我们常用的自增主键,或者通过指定id,默认使用微博开源的雪花算法生成id,全局唯一且自增id,即:
@TableId(type = IdType.AUTO)
@TableId(type = IdType.ASSIGN_ID)
实例:
@TableId(value = "id", type = IdType.AUTO)
private Long id;
2.3、@TableField
@TableField注解用于标识实体类字段与数据库表字段的映射关系。通过该注解,可以指定字段名、是否为插入和更新字段等。
注解里的属性说明:
属性 | 备注 |
---|---|
value | 通过设置该值,对应到数据库表的字段名。 |
condition | 设定值,进而是否开启如模糊查询。 |
exist | 主要指明字段在不在数据库表中,如果 false 则不在数据库表中。 |
select | 注明查到的字段是否要出现在返回结果中,某些场景中,如 User 表中,可能有 password ,对于这种敏感的字段,是不是可以不用返回呢。 |
fi |