QueryWrapper 中 and or
时间: 2024-07-04 21:00:23 浏览: 218
QueryWrapper 是 MyBatis-Plus 中的一个强大工具类,用于构建动态 SQL 查询条件。`and` 和 `or` 方法是 QueryWrapper 中用于连接多个条件的关键方法,它们分别表示逻辑与(AND)和逻辑或(OR)操作。
1. **`and()`**:当你需要在查询中添加多个条件,这些条件之间应该是逻辑与的关系时,使用 `and()` 方法。例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", "John")
.and().eq("status", true);
List<User> users = userMapper.selectList(wrapper); // 查询username为John且status为true的用户
```
在这个例子中,只有当 `username` 和 `status` 都满足条件时,查询才会返回结果。
2. **`or()`**:如果需要在一个查询中包含多个条件,但只要满足其中一个条件就可以返回结果,那么可以使用 `or()` 方法。例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", "John")
.or().eq("email", "john@example.com");
List<User> users = userMapper.selectList(wrapper); // 查询username为John或email为john@example.com的用户
```
这里会返回所有 `username` 为 John 或 `email` 为指定邮箱的用户。
阅读全文