美文网首页MyBatis(Plus)
MyBatis Plus之NULL值更新(二)

MyBatis Plus之NULL值更新(二)

作者: 静美书斋 | 来源:发表于2019-07-10 17:22 被阅读0次

环境

  • mybatis-plus-3.1.0

一、场景详述

  在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为NULL值,但是发现更新后数据没有为NULL,还是原来的值。这是因为mybatis-plus在更新的时候做了NULL判断,默认不更新为NULL的传参。
  想要实现的效果是:当前端传参为NULL时,仍然更新该字段。

二、配置分析

1、Mybatis-Plus配置的数据库更新策略如下

mybatis-plus:
  global-config:
    # 数据库相关配置
    db-config:
      #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
      field-strategy: not_null

配置的更新的策略为非NULL判断,所以,当我们想将数据库中的某个值设置为NULL时(该字段可为NULL),该策略就会忽略此操作。

2、添加注解实现NULL更新

  以下为即使为NULL时也更新,需要在该类字段上添加如下注解

/**
 * 创建人/处理人
 */
@TableField(strategy = FieldStrategy.IGNORED)
public Long createdBy;

总结:简言之,全局范围配置NULL值不更新(非NULL判断规则),局部可进行NULL值更新(忽略判断规则)。


文章参考

相关文章

网友评论

    本文标题:MyBatis Plus之NULL值更新(二)

    本文链接:https://www.haomeiwen.com/subject/tzxkkctx.html