评论

收藏

[Java] 解决mybatisPlus null 值更新的问题

编程语言 编程语言 发布于:2021-08-16 18:39 | 阅读数:466 | 评论:0

发现mybatisPlus会更新对象属性为null的值,
与field-strategy配置有关
mybatis-plus:
 global-config:
  db-config:
   field-strategy: not_null
在3.1.0版本中,其选择的值有
public enum FieldStrategy {
  IGNORED,
  NOT_NULL,
  NOT_EMPTY,
  DEFAULT; 
  private FieldStrategy() {
  }
}
我刚开始选择的是ignored,所以null值会更新,像这样:
DSC0000.jpg

改成not_null,就是这样了
DSC0001.jpg

官网解释:
该策略约定了如何产出注入的sql,涉及insert,update以及wrapper内部的entity属性生成的 where 条件
官方链接: https://mp.baomidou.com/config/#fieldstrategy
补充:mybatis-plus更新的时候忽略null值判断
一般会更新操作都会判断null值,为null就不更新对应的字段。
但是有时候需要把特定的字段更新为null,使用mybatis-plus时可以在实体类特定属性上面加注解@TableField(strategy=FieldStrategy.IGNORED),就会忽略null值判断,将null更新进数据库。
DSC0002.jpg

以上为个人经验,希望能给大家一个参考,也希望大家多多支持CodeAE代码之家
原文链接:https://blog.csdn.net/tplina/article/details/88111458

关注下面的标签,发现更多相似文章