当使用MybatisPlus更新数据的时候,比如updateById(),update()。如果被更新的对象中的字段是NULL,默认会忽略掉这个为NULL的字段。
解决方案有两个:
1. 使用注解
主要是@TableField注解中的属性:updateStrategy属性。但是不推荐这样做,这样做会很危险!!
2. 使用构造器更新数据
建议使用构造器来实现
taskErrorInfoService.lambdaUpdate() .eq(TaskErrorInfo::getId, item.getId()) .eq(TaskErrorInfo::getVersion, item.getVersion()) .set(TaskErrorInfo::getState, state) .set(TaskErrorInfo::getUpdateTime, LocalDateTime.now()) .update();
标签:set,MybatisPlus,getId,TaskErrorInfo,一些,NULL,eq From: https://www.cnblogs.com/zhaoleiFree/p/18043196