SpringBoot - MyBatis-Plus使用详解2(设置实体类对应的表名、字段名 )
二、设置模型对应的表名、字段名
1,设置关联的表名
(1)默认情况下,如果数据库表是使用标准的下划线命名,并且能对应上实体类的类名,我们就不需要特别去手动匹配。比如有张 user_info 表,那么会自动匹配下面这个实体类:
@Data public class UserInfo { private Integer id; private String userName; private String passWord; }
(2)如果数据库中所有表都有个表名前缀,比如我们想让 t_user_info 表仍然对应 UserInfo 实体类,可以添加如下全局配置设置表名前缀:
mybatis-plus.global-config.db-config.table-prefix=t_
(3)如果所有表名都不是下划线命名(但能跟类名对应上),比如想让 userinfo 表对应 UserInfo 实体类,可以添加如下全局配置,表示数据库表不使用下划线命名:
mybatis-plus.global-config.db-config.table-underline=false
(4)除了上面两种全局配置方法外,我们还可以使用 @TableName 表名注解指定当前实体类对应的表名,比如下面 UserInfo 实体类对应表名为 user:
@Data @TableName(value = "user") public class UserInfo { private Integer id; private String userName; private String passWord; }
2,设置关联的字段名
(1)同表名一样,如果数据库表里的字段名使用标准的下划线命名,并且能对应上实体类的成员名称(驼峰命名),我们就不需要特别去手动匹配。比如下面 user_info 表里的字段会自动跟 UserInfo 实体类的各个成员属性一一对应:@Data public class UserInfo { private Integer id; private String userName; private String passWord; }
(2)如果数据库表里的字段名并不是使用下划线命名(但能跟实体类的成员名称对应上),可以添加如下全局配置,表示数据库表字段名不使用下划线命名:
mybatis-plus.configuration.map-underscore-to-camel-case=false
(3)除了全局配置方法外,我们还可以使用 @TableId 注解(标注在主键上)和 @TableField 注解(标注在其他成员属性上)来指定对应的字段名:
@Data public class UserInfo { @TableId(value = "uuid") private Integer id; @TableField(value = "uname") private String userName; @TableField(value = "pword") private String passWord; }