mybatisplus的updatebyid用法会把原来的值覆盖掉吗
时间: 2023-03-23 19:03:27 浏览: 297
MyBatisPlus中通用CRUD的updateById方法示例代码
MyBatis-Plus的updateById方法会根据传入的实体对象的主键更新对应的数据库记录,如果实体对象中的某些属性为null,那么对应的数据库字段也会被更新为null。
如果你希望在执行updateById方法时,只更新实体对象中不为null的属性,可以使用MyBatis-Plus提供的update方法。使用方法如下:
```
T entity = new T();
entity.setId(id); // 设置主键值
entity.setXXX(value); // 设置需要更新的属性值,其他属性为null
UpdateWrapper<T> wrapper = new UpdateWrapper<>(entity);
wrapper.set(entity);
int rows = baseMapper.update(entity, wrapper);
```
这样,只有实体对象中不为null的属性才会被更新到数据库中。
阅读全文