近期在写业务逻辑的时候有需要给某两个值设置为null,但是使用了updateById方法之后不报错,但是发现数据根本没改

        查了相关资料mybatisplus的默认是不会把NULL值设置到数据库中的

然后一般是有两种方式解决办法

1.是通过yml文件的方式

mybatis-plus:
  mapper-locations: classpath:mapper/*Mapper.xml
  global-config:
    # 数据库相关配置
    db-config:
      #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
      field-strategy: ignored

2.是在对应的字段上添加注解

@TableField(strategy = FieldStrategy.IGNORED)

具体使用哪个用法,视自己情况而定

此外:

在mybatis-plus中,除了updateById方法,还提供了一个update方法,直接使用update方法也可以将字段设置为null

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐