数据库中的表名
,和项目中的实体类名
,并不符合默认对应规则。所有表都有同样的前缀,而实体类名
是和表名去掉前缀后的部分
对应的。
配置全局表名前缀
,使实体类名
对应的表名,自动加上一段前缀。
配置全局表名前缀,也是有一些限制的。
比如,数据库中的表,并不是所有的表都有同样的前缀,那么就无法使用表名前缀
方案了;需要使用表映射注解@TableName
,分别指定每个实体类对应的表名。
下面的配置中,表名前缀为:tb_
mybatis-plus:
global-config:
db-config:
# 表名前缀
table-prefix: tb_
配置全局表名前缀之后,就不再需要@TableName
注解映射表名了。
package com.example.web.entity;
import lombok.Data;
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
MybatisPlus 能够正确拼接表名,并执行SQL语句。