MybatisPlus做更新操作时,如果不单独对对象为空的属性进行set操作,要更新的记录如果存在为空的字段,默认该字段不会执行更新操作,即不会出现在set参数列表中。
例如:
假设有一条记录为如下,正好对应java的一个User对象。
id | name | sex | dept |
---|---|---|---|
1 | 张三 | 男 |
那么在执行update/saveOrUpdate操作的时候,由于dept字段为空。如果不执行user.setDept(“xxx”),则默认不会对dept这个字段进行set操作。SQL语句如下:
update user set id=1,name = '张三',sex=‘女’where id = 1;