1>@TableName(设置实体类所对应的表名)
2>@TableId(将属性所对应的字段指定为主键)
①@TableId的value属性
②@TableId的type属性
常用的主键策略:IdType.ASSIGN_ID(默 认)\ IdType.AUTO
配置全局主键策略:
③雪花算法
3>@TableField
4>@TableLogic
1.@TableName(设置实体类所对应的表名)
经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表 由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致
问题
我们将表user更名为t_user,测试查询功能程序抛出异常,Table 'mybatis_plus.user' doesn't exist,因为现在的表名为t_user,而默认操作的表名和实体类型的类名一致,即user表
①通过@TableName解决问题
在实体类类型上添加@TableName("t_user"),标识实体类对应的表,即可成功执行SQL语句
@Data
//设置实体类所对应的表名
@TableName("t_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}<