注意: 3.1.2版本之前 是strategy注解 个人感觉有些危险, (多人开发或者时间久了 可能会遗忘该注解 出现不必要的错误)
使用注解推荐升级到3.1.2以上每种操作方式单独定义 不想升级mp版本请看第二/第三条方式
- // 修改时忽略null 和空值
- @TableField(strategy = FieldStrategy.IGNORED)
- private BigDecimal discountPrice;
同时注解TanleField的strategy属性还有三个值

3.1.2版本后的改动:
前几天改若依框架的时候发现没有strategy 属性了 就打开源码看了下 在3.1.2版本后strategy 更新为了以下三个
还有一种情形:
有些业务需要该字段为null的情况下更新为null 有些情况则在为null的情况下不进行更新 可以使用
updateByPrimaryKey(全字段更新)和updateByPrimaryKeySelective(不为空字段更新)
Mybatis-Plus开发人员解释链接:https://github.com/baomidou/mybatis-plus/issues/300
MybatisPlus3.0已经更新了 修改构造器(UpdateWrapper)
可以使用该构造器的set()方法将字段更新为Null
- set(String column, Object val)
-
- // 将Id为1的用户名更新为null
- userUpdateWrapper.eq("id",1);
- userUpdateWrapper.set("userName",null);
- userService.update(userUpdateWrapper);