问题:
在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。
官网解决方案:

但是,官方没有说清楚方式一怎么设定
我用的是“全局的验证策略”
上代码吧,我用的mybatisplus版本为3.4.1
###################  mybatis-plus配置  ###################
mybatis-plus:
  #实体扫描,多个package用逗号或者分号分隔
  global-config:
    db-config:
      #字段策略
      select-strategy: DEFAULT
      insert-strategy: DEFAULT
      update-strategy: IGNORED来看看字段的意思吧,配置的其实是枚举,源码如下图

有些博客说设置:field-strategy,这些根本没用
我试过的(别试了,没用):

一开始我以为是位置不对
然后就这样(还是没有用):

结语:很多人说全局设定不好,有风险,会不小心更新到其它为null的字段,我就想说了,我一个一个字段去指定更加麻烦,所以我选择了设定全局。