参考视频:MyBatisPlus教程,一套玩转mybatisplus框架,mybatis-plus轻松上手 点击观看
文章目录
- [1 @TableName](#1 @TableName)
- [2 @TableId](#2 @TableId)
- [3 @TableField](#3 @TableField)
- [4 @TableLogic](#4 @TableLogic)
1 @TableName
在实体类类型上添加@TableName("数据库表名"),标识实体类对应的表。
java
@Data
@TableName("t_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
或者可以使用全局配置
yaml
mybatis-plus:
global-config:
db-config:
# 设置实体类所对应的表的统一前缀
table-prefix: t_
2 @TableId
在实体类中 uid 属性上通过@TableId将其标识为主键
java
@Date
public class User {
@TableId
private Long uid;
private String name;
private Integer age;
private String email;
}
value属性
若实体类中主键对应的属性为 id,而表中表示主键的字段为 uid,此时若只在属性 id 上添加注解@TableId,则抛出异常 Unknown column 'id' in 'field list',即 MyBatisPlus 仍然会将 id 作为表的主键操作,而表中表示主键的是字段 uid 此时需要通过@TableId 注解的 value 属性,指定表中的主键字段,@TableId("uid")或@TableId(value="uid")
type属性
type 属性用来定义主键策略:默认雪花算法

配置全局主键策略
yaml
mybatis-plus:
global-config:
db-config:
#配置mp的主键策略为自增
id-type: auto
# 设置实体类所对应的表的统一前缀
table-prefix: t_
3 @TableField
在实体类属性上使用@TableField("username")设置属性所对应的字段名
java
public class User {
@TableId("uid")
private Long id;
@TableField("username")
private String name;
private Integer age;
private String email;
}
4 @TableLogic
逻辑删除
物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据。
逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为"被删除状态",之后在数据库中仍旧能看到此条数据记录。
使用场景:可以进行数据恢复。