- 列名与编码开发设计不同步
// 假设我们的数据库密码设计为pwd,但是我们的实体类密码属性设计为passwordpackage com.itheima.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;//lombok@Data@TableName("tbl_user")public class User { private Long id; private String name; // 采用@TableField注解,后面采用属性value=https://www.huyubaike.com/biancheng/数据库列名 @TableField(value = "pwd") private String password; private Integer age; private String tel;}
- 该列不应当被打印时
// 例如我们的pwd密码,在查询时不应当被查询,但是我们采用select * from tbl_user来查询,如何屏蔽package com.itheima.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;//lombok@Data@TableName("tbl_user")public class User { private Long id; private String name; // 采用@TableField注解,后面采用属性select设置为false,即为不可查询 @TableField(value = "pwd",select = false) private String password; private Integer age; private String tel;}
- 当实体类中出现数据库中不存在的列时
// 例如我们设计了一个属性online判断是否在线,不用放于数据库中,我们该如何在select * 中去除该属性package com.itheima.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;//lombok@Data@TableName("tbl_user")public class User { private Long id; private String name; @TableField(value = "pwd",select = false) private String password; private Integer age; private String tel; // 采用@TableField注解,后面跟属性exist设置为false,则判断该属性不存在于数据库中 @TableField(exist = false) private Integer online;}我们将上述内容分离出来主要解释两个注解:
- @TableName
- 名称:@TableName
- 类型:类注解
- 位置:模型类定义上方
- 作用:设置当前类对应的数据库表关系
- 相关属性:value设置数据库表名称
- @TableField
- 名称:@TableField
- 类型:属性注解
- 位置:模型类属性定义上方
- 作用:设置当前属性众多关系
- 相关属性:value设置数据库字段名称,exist设置属性在数据库字段中是否存在,select设置属性是否参与查询
DML编程控制这一章节我们来讲一些MyBatisPlus中经常用到的操作,下面我们一一介绍
ID生成策略控制我们在实际开发中会有需要ID生成需求,对于不同的情况需要采取不同的ID生成方法:
- 员工编号:递增ID生成
- 快递单号:地区ID生成
经验总结扩展阅读
-
-
方法我家柯基拉稀后,精神状态却没有受到影响,该怎样解决这个问题?
-
-
-
-
如果你问另一半对婚姻什么想法和态度?如果Ta给你一个相对完美的答案 如果你问另一半对婚姻什么想法和态度?
-
-
35岁在工厂上班,无车无房存款不到5万,应该怎么改变现状?
-
-
-
-
-
-
-
-
-
手机起水雾能自己好吗,手机屏幕上有层水雾,怎么办?
-
-
-