当前位置: 首页> 汽车> 新车 > Mybatis Plus之updateById()、update()进行更新的注意事项

Mybatis Plus之updateById()、update()进行更新的注意事项

时间:2025/7/12 2:26:39来源:https://blog.csdn.net/Cike___/article/details/139599462 浏览次数: 0次

    • 1. Mybatis Plus 的 FieldStrategy 有三种策略
    • 2. 配置
    • 3. 使用 update() 方法

1. Mybatis Plus 的 FieldStrategy 有三种策略

  • IGNORED:忽略。当策略为 IGNORED 时,表示忽略该字段的空值判断,即无论实体对象的值为空还是非空,都会进行新增、更新操作。
  • NOT_NULL:非 NULL。当策略为 NOT_NULL 时,表示字段不能为空,如果实体对象的值为空,则不会进行新增、更新操作。
  • NOT_EMPTY:非空。当策略为 NOT_EMPTY 时,表示字段不能为空字符串或 null 值,如果实体对象的值为空字符串或 null,则不会进行新增、更新操作。

注意:updateById() 方法的默认策略为 NOT_NULL

2. 配置

  1. 全局配置 field-strategy

    在 application.yml 文件中添加:

    mybatis-plus:global-config:#字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断"field-strategy: 0
    

    这样做是全局性配置,会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为 null,可能会影响其他业务数据的正确性。

  2. 对某个字段设置单独的 field-strategy

    根据具体情况,在需要更新的字段中调整验证注解,如验证非空:

    @TableField(strategy=FieldStrategy.NOT_EMPTY)
    

    我们只需要在需要更新为 null 的字段上设置忽略策略:

    @TableField(strategy = FieldStrategy.IGNORED)
    private LocalDateTime time;
    

    此时,使用 Mybatis Plus 中的 updateById() 方法便可以更新成功,当参数实体类中的 time 字段为 null 时,数据库中的数据也会更新为 null。

3. 使用 update() 方法

在 Mybatis Plus 中,提供了两个更新方法,除了 updateById() 方法,还有 update() 方法,直接使用 update() 方法可以将字段设置为 null,这种方法不需要增加配置,推荐使用!


好事定律:每件事最后都会是好事,如果不是好事,说明还没到最后。

关键字:Mybatis Plus之updateById()、update()进行更新的注意事项

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: