使用mybatis-plus时mapper类:
1、在每个mapper类上加上@Mapper注解
2、在启动类上加上@MapperScan(指定要变成实现类的接口所在的包路径)
常用注解
存在数据库表名和实体类名不一致
数据库建表tb_user,实体类user
在实体类上加注解@TableName(value = “tb_user”)
存在数据库列名和实体类变量名不一致
非主键
加注解@TableField(value = “name”)
1、value=" " 映射字段名
2、exist=" " 是否为数据库字段 false时MP查询不带上这个值
3、select=" " 是否查询该字段
4、fill=" " 表示是否自动填充 存数据时MP自动给字段赋值:
例如自动存时间日期
自动填充需要创建处理器 处理这个值
5、处理器
主键
@TableId(value = “name”)设置主键映射
value=" " 映射主键名
type=" " 映射主键类型 主键的生成策略
值 | 描述 |
---|---|
AUTO | 数据库自增 |
NONE | MP设置 雪花算法生成 |
INPUT | 手动设值 |
ASSIGN_ID | MP分配id Integer Long String |
ASSIGN_UUID | 分配UUID String |
如果主键类型为input
但是没有设值,数据库自动赋值为最大主键值+1;
ASSIGN_ID MP自动赋值,雪花算法
ASSIGN_UUID MP自动生成UUID进行赋值 只能为string类型
UUID在分布式环境或者主键会暴露情况下建议使用
自增ID在数据量小对性能要求高的情况下建议使用