本文已参与「新人创作礼」活动,一起开启掘金创作之路。
博主将通过本篇博客带你了解学习mybatisplus中的字段映射与表名映射内容。博主通过几个问题引入相关内容。
字段映射与表名映射
问题导入
思考表的字段和实体类的属性不对应,查询会怎么样?
4.1 问题一:表字段与编码属性设计不同步
- 在模型类属性上方,使用 @TableField ****属性注解,通过==value==属性,设置当前属性对应的数据库表中的字段关系。
4.2 问题二:编码中添加了数据库中未定义的属性
- 在模型类属性上方,使用 @TableField 注解,通过exist属性,设置属性在数据库表字段中是否存在,默认为true。此属性无法与value合并使用。
4.3 问题三:采用默认查询开放了更多的字段查看权限
- 在模型类属性上方,使用 @TableField 注解,通过select属性:设置该属性是否参与查询。此属性与select()映射配置不冲突。
4.4 问题四:表名与编码开发设计不同步
- 在模型类上方,使用 @TableName 注解,通过value属性,设置当前类对应的数据库表名称。
@Data
@TableName("tbl_user")
public class User {
/*
id为Long类型,因为数据库中id为bigint类型,
并且mybatis有自己的一套id生成方案,生成出来的id必须是Long类型
*/
private Long id;
private String name;
@TableField(value = "pwd",select = false)
private String password;
private Integer age;
private String tel;
@TableField(exist = false) //表示online字段不参与CRUD操作
private Boolean online;
}
字段映射与表名就先讲这么多了,更多内容大家可以去查一下mybatis-plus的官网。