mybatisplus QueryWrapper 条件如何设置符合条件添加此条过滤条件,不符合则不添加
时间: 2024-11-13 08:41:06 浏览: 32
MyBatis-plus.md
在 MyBatisPlus 中,`QueryWrapper` 是一个非常灵活的动态查询工具,用于构建 SQL 查询语句。如果你想根据某些条件动态地决定是否添加到查询条件中,你可以使用 `wraps()` 方法或者链式调用来实现。
假设我们有一个 `User` 实体类,想要根据某个字段 `isActive` 进行过滤:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
User user = ... // 已经获取到的用户实例
// 如果 isActive 为 true,则添加到查询条件
boolean isActiveFilter = user.isActive; // 假设这是根据业务逻辑动态决定的
if (isActiveFilter) {
queryWrapper.eq("isActive", true);
}
List<User> users = userMapper.selectList(queryWrapper); // 根据条件查询所有 User
```
在这个例子中,如果 `isActiveFilter` 为真,那么 `eq("isActive", true)` 就会被添加到 `queryWrapper` 中,表示查询 `isActive` 为 `true` 的用户。反之,如果 `isActiveFilter` 为假,`queryWrapper` 中就不会包含这条过滤条件,所以查询结果将不会受限于 `isActive` 属性。
阅读全文