字段映射与表名映射【MybatisPlus】

2,852 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

博主将通过本篇博客带你了解学习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的官网。