mybatis example 空值可更新
时间: 2023-06-28 13:14:01 浏览: 85
MyBatis 提供了 Example 条件查询的功能,可以通过 Example 条件对象来构建查询条件,同时也可以使用 Example 条件对象来进行更新操作。在使用 Example 条件对象进行更新时,空值也是可以更新的。
假设有一个 User 实体类,其中有三个字段:id、name、age。现在需要更新 name 和 age 字段,其中 name 字段可以为空:
```
public class User {
private Long id;
private String name;
private Integer age;
// getter 和 setter 方法
}
```
使用 Example 条件对象进行更新时,可以使用以下代码:
```
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("id", 1);
User user = new User();
user.setName(null);
user.setAge(20);
userMapper.updateByExampleSelective(user, example);
```
在上述代码中,先创建了一个 Example 条件对象,并设置了查询条件(id = 1)。然后创建了一个 User 对象,设置了 name 为 null,age 为 20。最后调用 updateByExampleSelective 方法进行更新操作。此时,name 字段的值就会被更新为 null。
需要注意的是,在使用 updateByExampleSelective 方法进行更新时,只会更新不为 null 的字段。如果想要更新所有字段,可以使用 updateByExample 方法。
阅读全文