QueryWrapper or后面又接or
时间: 2023-10-18 15:30:10 浏览: 164
mybatis plus条件构造器queryWrapper、updateWrapper
在 `QueryWrapper` 中,`or()` 方法返回的是一个新的 `QueryWrapper` 对象,因此可以在 `or()` 方法后面继续链式调用其他方法,包括再次调用 `or()` 方法。这种方式可以实现多个条件之间的逻辑或运算。例如,下面的代码查询满足用户名为 "Tom" 或 "Jerry",且年龄大于 18 岁或小于 10 岁的用户列表:
```
QueryWrapper<User> wrapper = new QueryWrapper<User>()
.eq("name", "Tom")
.or()
.eq("name", "Jerry")
.or()
.gt("age", 18)
.or()
.lt("age", 10);
List<User> userList = userMapper.selectList(wrapper);
```
这里调用了三次 `or()` 方法,将四个条件通过逻辑或运算组合起来。具体的查询语句为:
```
SELECT * FROM user WHERE (name = 'Tom' OR name = 'Jerry' OR age > 18 OR age < 10)
```
注意,多个条件之间的逻辑运算顺序是从左到右,因此这里优先使用了 `or()` 方法。
阅读全文