关于MybatisPlus更新字段为NULL值方法

  • Post author:
  • Post category:其他


    /**
     * 根据 whereEntity 条件,更新记录
     *
     * @param entity        实体对象 (set 条件值,可以为 null)
     * @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     */
    int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);

通常想要将字段更新成NULL值要通过

LambdaUpdateWrapper<ApplyTestsDo> update = Wrappers.lambdaUpdate(ApplyTestsDo.class);
update.eq(ApplyTestsDo::getId, "1666702888183132161");
update.set(ApplyTestsDo::getTaskCode, null);

来将taskCode字段更新成null, entity如果传入,则会将非NULL的字段都作为更新set语句,

然后追加LambdaUpdateWrapper里的set task_code = NULL 和WHERE id = “1666702888183132161”,

一种比较好的办法,如果你有可能会更新成NULL的字段就放LambdaUpdateWrapper里,

如果肯定是非null的字段封装到entity里,


注意:update.eq(ApplyTestsDo::getId, “1666702888183132161”);这个API只会拿Wrapper里的条件作为WHERE 后的限制条件,如果不加则会全表更新。



版权声明:本文为WM_55555原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。