如何在MyBatisPlus中使用一个条件同时过滤多个字段?
时间: 2025-01-20 15:09:07 浏览: 41
在MyBatisPlus中,可以使用`QueryWrapper`或`LambdaQueryWrapper`来构建复杂的查询条件,并通过`or`和`and`方法组合多个字段的过滤条件。以下是一个示例,展示了如何在一个条件中同时过滤多个字段:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersByMultipleFields(String name, String email, Integer age) {
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
queryWrapper
.and(wrapper -> wrapper.eq(User::getName, name).or().like(User::getEmail, email))
.and(wrapper -> wrapper.ge(User::getAge, age));
return userMapper.selectList(queryWrapper);
}
}
```
在这个示例中:
1. `LambdaQueryWrapper`用于类型安全地构建查询条件。
2. `and`方法用于组合多个条件。
3. `eq`方法用于精确匹配字段值。
4. `like`方法用于模糊匹配字段值。
5. `ge`方法用于大于等于条件的匹配。
通过这种方式,可以在同一个查询条件中同时过滤多个字段。
阅读全文
相关推荐


















