QueryWrapper实现若不为空则带上条件
时间: 2024-05-16 14:10:32 浏览: 184
mybatis-plus QueryWrapper条件查询器
QueryWrapper是Mybatis-plus提供的一个查询条件构造器,可以方便地构建SQL查询条件。要实现若不为空则带上条件,可以使用Wrapper的链式调用和lambda表达式进行实现。
例如,我们有一个User类,想要根据条件查询用户信息:
```java
public class User {
private Long id;
private String name;
private Integer age;
// getter和setter方法
}
```
如果只有name不为空时才加入查询条件,可以使用如下代码:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(StringUtils.isNotBlank(user.getName()), User::getName, user.getName());
List<User> userList = userMapper.selectList(wrapper);
```
其中,StringUtils.isNotBlank()是org.apache.commons.lang3.StringUtils类提供的方法,用于判断字符串是否为空或空格字符。lambda()方法返回LambdaQueryWrapper对象,eq()方法表示相等的查询条件,User::getName表示使用User对象的getName方法获取属性值,user.getName()表示查询条件的值。
阅读全文