场景
项目搭建专栏:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194
基础搭建:
MybatisPlus中使用通用CRUD实现插入操作_霸道流氓气质的博客-CSDN博客
实现
官方文档说明:
值 | 描述 |
---|---|
DEFAULT | 默认不处理 |
INSERT | 插入填充字段 |
UPDATE | 更新填充字段 |
INSERT_UPDATE | 插入和更新填充字段 |
举例
比如说数据库中字段为last_name,而实体类的属性为lastName。
前提是在全局策略配置中将驼峰命名关闭。
<property name="dbColumnUnderline" value="false"></property>
关于MyBatisPlus中进行通用CRUD全局策略配置参照:< /P>
MyBatisPlus中进行通用CRUD全局策略配置_霸道流氓气质的博客-CSDN博客
这时就可以在实体类上添加:
@TableField(value="last_name")
又比如在实体类中有一个属性为remark,但是在数据库中没有这个字段,
但是在执行插入操作时给实体类的remark属性赋值了,那么可以通过在实体类的
remark属性上添加
就不会报错了。
- com.baomidou.mybatisplus.annotations.TableField
-
值 描述 value 字段值(驼峰命名方式,该值可无) update 预处理 set 字段自定义注入 condition 预处理 WHERE 实体条件自定义运算规则 el 详看注释说明 exist 是否为数据库表字段( 默认 true 存在,false 不存在 ) strategy 字段验证 ( 默认 非 null 判断,查看 com.baomidou.mybatisplus.enums.FieldStrategy ) fill 字段填充标记 ( FieldFill, 配合自动填充使用 ) -
TableField 注解新增属性
update
预处理 set 字段自定义注入-
例如:@TableField(.. , update="%s+1") 其中 %s 会填充为字段
-
输出 SQL 为:update 表 set 字段=字段+1 where ...
-
例如:@TableField(.. , update="now()") 使用数据库时间
-
输出 SQL 为:update 表 set 字段=now() where ...
-
-
TableField 注解新增属性
condition
预处理 WHERE 实体条件自定义运算规则-
@TableField(condition = SqlCondition.LIKE)
-
private String name;
-
输出 SQL 为:select 表 where name LIKE CONCAT('%',值,'%')
-
-
字段填充策略 FieldFill
-
@TableField(exist=false)
-
private String remark;