LambdaQueryWrapper使用inSql
时间: 2023-12-13 16:34:23 浏览: 886
在SQL查询中使用LIKE来代替IN查询的方法
LambdaQueryWrapper是MyBatis-Plus提供的一个查询构造器,可以用于构建复杂的SQL查询语句。其中,inSql方法可以用于将子查询的结果作为in条件进行查询。使用方法如下:
```java
List<Integer> groupIdds = Arrays.asList(1, 2, 3, 4);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.inSql(User::getId, "SELECT id FROM user WHERE status = 1")
.in(User::getGroupId, groupIdds);
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,我们首先定义了一个groupIdds列表,然后创建了一个LambdaQueryWrapper对象queryWrapper。接着,我们使用inSql方法将子查询的结果作为id字段的in条件进行查询,同时使用in方法将groupIdds列表作为groupId字段的in条件进行查询。最后,我们使用selectList方法执行查询,并将结果保存在userList列表中。
阅读全文