0
点赞
收藏
分享

微信扫一扫

MybatisPlus中@TableField注解的使用




实现

官方文档说明:

  • 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

 


描述

DEFAULT

默认不处理

INSERT

插入填充字段

UPDATE

更新填充字段

INSERT_UPDATE

插入和更新填充字段

举例

比如说数据库中字段为last_name,而实体类的属性为lastName。

前提是在全局策略配置中将驼峰命名关闭。

<property name="dbColumnUnderline" value="false"></property>

关于MyBatisPlus中进行通用CRUD全局策略配置参照:< /P>

这时就可以在实体类上添加:

@TableField(value="last_name")

又比如在实体类中有一个属性为remark,但是在数据库中没有这个字段,

但是在执行插入操作时给实体类的remark属性赋值了,那么可以通过在实体类的

remark属性上添加

@TableField(exist=false)
private String remark;

就不会报错了。

举报

相关推荐

0 条评论