mybatisplus更新某个字段为null
使用@tablefield(updatestrategy = fieldstrategy.ignored)注解要更新的字段。
@tablefield注解是 mybatisplus 框架中提供的一个注解,主要用于实体类(entity)的字段上,帮助开发者更灵活地映射 java 对象属性与数据库表字段之间的关系
主要功能:
1、字段映射
当实体类和数据库字段不一致时,可以是使用value属性指定数据库字段名
@tablefield(value = "db_column_name") private string entityfieldname;
2、忽略非表字段
若实体类中存在与数据库表无关的属性(如临时变量),需标记 exist = false
,避免 mybatis-plus 将其误认为表字段。
@tablefield(exist = false) private string tempvalue;
3、自动填充策略
配合 fill
属性实现字段的自动填充(如创建时间、更新时间)。
@tablefield(fill = fieldfill.insert) private localdatetime createtime; @tablefield(fill = fieldfill.insert_update) private localdatetime updatetime;
4、字段条件处理
通过 condition
属性指定该字段在 sql 条件中的生成规则(较少用)。
@tablefield(condition = sqlcondition.like) private string name; // 生成 sql 时会使用 `name like ?`
5、相关策略
@tablefield注解有三种策略:
insertstrategy
(新增)updatestrategy
(更新)wherestrategy
(查询)
每种策略有五种类型:
ignored
(忽略)not_null
(不为null)not_empty
(不为空)default
(默认)never
(从不)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论