QueryWrapper and和not怎么连用
时间: 2023-11-15 17:02:12 浏览: 83
QueryWrapper中的and和not可以通过链式调用来实现连用。例如,如果我们需要查询name中不含有fei字样且age大于18岁的员工信息,可以使用如下代码:
```
QueryWrapper<Employee> wrapper = new QueryWrapper<>();
wrapper.notLike("name", "fei").and(qw -> qw.gt("age", 18));
List<Employee> employees = employeeMapper.selectList(wrapper);```
其中,and方法接受一个Lambda表达式作为参数,Lambda表达式中可以继续使用QueryWrapper的其他方法来构建查询条件。这样就可以实现and和not的连用了。
相关问题
querywrapper and嵌套两个and和一个or连用
QueryWrapper是一个用于构建SQL查询条件的工具类,它可以帮助我们更方便地拼接查询条件。在QueryWrapper中,我们可以使用and和or来连接多个查询条件。
当我们需要同时满足多个查询条件时,可以使用多个and来连接这些条件。例如,如果我们需要查询年龄大于18岁且性别为男性的用户,可以使用QueryWrapper如下所示:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18).eq("gender", "male");
```
上述代码中,gt表示大于,eq表示等于,"age"和"gender"分别是数据库表中的字段名。
而当我们需要满足多个查询条件中的任意一个时,可以使用or来连接这些条件。例如,如果我们需要查询年龄大于18岁或者性别为男性的用户,可以使用QueryWrapper如下所示:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18).or().eq("gender", "male");
```
上述代码中,or表示或者。
QueryWrapper的notin
QueryWrapper的notin方法可以用于生成SQL语句中的not in子句,用于查询某个字段不在指定值列表中的记录。
例如:
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notIn("id", 1, 2, 3);
生成的SQL语句为:
select * from user where id not in (1, 2, 3);
其中,notIn方法的参数可以是一个数组,也可以是多个参数。
阅读全文