LambdaQueryWrapper根据集合中的数据拼接或者条件
时间: 2023-10-13 08:23:11 浏览: 84
LambdaQueryWrapper 是 MyBatis-Plus 提供的一个查询构造器,可以通过它来构造查询条件。
要根据集合中的数据拼接或者条件,可以使用 LambdaQueryWrapper 的 in 方法。例如,假设有一个 List<Integer> ids 表示需要查询的 id 集合,可以这样构造查询条件:
```
List<Integer> ids = Arrays.asList(1, 2, 3);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(User::getId, ids);
List<User> userList = userMapper.selectList(queryWrapper);
```
这样就可以查询 id 在 1、2、3 中的用户了。如果要查询 id 不在集合中的用户,可以使用 notIn 方法:
```
List<Integer> ids = Arrays.asList(1, 2, 3);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.notIn(User::getId, ids);
List<User> userList = userMapper.selectList(queryWrapper);
```
除了 in 和 notIn 方法,LambdaQueryWrapper 还提供了一系列方法来构造查询条件,比如 eq、ne、gt、ge、lt、le 等等。可以根据实际需要选择适合的方法来构造查询条件。
阅读全文