Mybatis-Plus 更新字段为null的方式,看这篇就够了!!!

 

 

 

作者

:青衫

✉️ :[email protected]

原文链接:https://blog.csdn.net/weixin_42059737/article/details/87911469

 

 

 

 

1. 使用注解

注意: 3.1.2版本之前 是strategy注解 个人感觉有些危险, (多人开发或者时间久了 可能会遗忘该注解 出现不必要的错误) 
    使用注解推荐升级到3.1.2以上每种操作方式单独定义 不想升级mp版本请看第二/第三条方式

  // 修改时忽略null 和空值
    @TableField(strategy = FieldStrategy.IGNORED)
    private BigDecimal discountPrice;

同时注解TanleField的strategy属性还有三个值

Mybatis-Plus 更新字段为null的方式,看这篇就够了!!!_第1张图片

3.1.2版本后的改动:

前几天改若依框架的时候发现没有strategy 属性了  就打开源码看了下  在3.1.2版本后strategy 更新为了以下三个Mybatis-Plus 更新字段为null的方式,看这篇就够了!!!_第2张图片

 

2.

 还有一种情形:

有些业务需要该字段为null的情况下更新为null 有些情况则在为null的情况下不进行更新 可以使用
 updateByPrimaryKey(全字段更新)和updateByPrimaryKeySelective(不为空字段更新)

 

Mybatis-Plus开发人员解释链接:https://github.com/baomidou/mybatis-plus/issues/300

3. 

MybatisPlus3.0已经更新了 修改构造器(UpdateWrapper) 

可以使用该构造器的set()方法将字段更新为Null

set(String column, Object val)

// 将Id为1的用户名更新为null
userUpdateWrapper.eq("id",1);
userUpdateWrapper.set("userName",null);
userService.update(userUpdateWrapper);

 

你可能感兴趣的:(Java,Mybatis,Mybatis-Plus)