mybatis-plus wrapper 传入一个List<User> 每一个User数据都不一样 搜索name和age同时符合的
时间: 2024-04-13 16:28:25 浏览: 172
如果您想要使用MyBatis-Plus的Wrapper来搜索满足name和age同时符合条件的多个User对象,您可以使用LambdaQueryWrapper结合in方法来实现。下面是一个示例代码:
```java
List<User> userList = new ArrayList<>(); // 假设这是您要传入的List<User>对象
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(User::getName, userList.stream().map(User::getName).collect(Collectors.toList()))
.in(User::getAge, userList.stream().map(User::getAge).collect(Collectors.toList()));
List<User> result = userMapper.selectList(lambdaQueryWrapper);
```
上述代码首先创建了一个LambdaQueryWrapper对象,然后使用in方法来设置name和age字段的条件。这里通过stream和map操作,将传入的List<User>对象中的name和age提取出来,然后使用collect(Collectors.toList())将其转换为List,最后使用in方法设置查询条件。
最后,使用userMapper的selectList方法执行查询,并将结果赋值给result变量。
这样,您就可以搜索满足name和age同时符合条件的多个User对象了。
希望对您有所帮助!如果还有其他问题,请随时提问。
阅读全文