QueryWrapper的or
时间: 2025-01-03 14:38:08 浏览: 11
### 关于 `QueryWrapper` 中 `or` 方法的使用
在 MyBatis-Plus 中,`QueryWrapper` 提供了多种构建查询条件的方法,其中 `or` 是用于组合多个 OR 条件的关键方法之一。这使得 SQL 查询更加灵活和强大。
当调用 `or` 方法时,可以传递一个 Lambda 表达式来定义新的 OR 条件[^2]:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
public class Example {
public void queryExample() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 单独设置 or 条件
wrapper.eq("age", 20).or().eq("name", "Tom");
List<User> users = userMapper.selectList(wrapper);
}
}
```
对于更复杂的场景,可以通过链式调用来创建多层嵌套的 AND 和 OR 组合逻辑:
```java
// 复杂的 and/or 配置
wrapper.eq("status", 1)
.and(i -> i.gt("salary", 5000))
.or(j -> j.lt("work_years", 3));
```
上述代码片段展示了如何利用 `or` 及其内部 lambda 函数实现复杂查询条件的配置。值得注意的是,在某些情况下为了提高可读性和维护性,建议适当拆分过长的链条表达式并合理命名局部变量以便理解每个部分的功能。
阅读全文