mybatisplus in
时间: 2023-09-22 11:06:10 浏览: 91
Mybatis plus中的in查询是指在查询条件中使用in关键字来查询多个值的情况。在Mybatis plus中,可以使用QueryWrapper类的in方法来构建in查询条件。具体步骤如下:
1. 首先,查询需要的数据,得到一个列表或集合。例如,通过userService的selectById方法查询到一个List<User> userList。
2. 创建一个结果集列表,用于存储需要查询的值。例如,创建一个List<String> resultList。
3. 遍历查询到的列表,取出需要查询的值,并将其添加到结果集列表中。可以使用forEach方法来遍历列表,并使用item.getYouNeedId()方法获取需要查询的值,并将其添加到resultList中。
4. 构建查询条件的条件构造器。使用QueryWrapper类的in方法来构建in查询条件。例如,创建一个QueryWrapper<User> qw对象,并使用qw.in("you_need_id", resultList)来设置in查询条件,其中"you_need_id"是需要查询的字段名。
5. 进行分页查询(可选)。如果需要进行分页查询,可以使用mybatisplus封装的其他方法来设置分页参数。例如,使用userMapper的selectPage方法进行分页查询,并将查询条件设置为qw。
6. 返回查询结果。使用getRecords方法获取查询结果,并将其返回。
示例代码如下:
```
List<User> userList = userService.selectById(id); //查询到list集合
List<String> resultList = new ArrayList<>(); //结果集
userList.forEach(item->{
resultList.add(item.getYouNeedId());
});
QueryWrapper<User> qw = new QueryWrapper<>(); //条件构造器in上手使用
qw.in("you_need_id", resultList);
IPage<User> userIPage = userMapper.selectPage(page, qw); //这里有个分页的查询,你也可以不用分页,用mybatisplus里面封装的其他方法
return userIPage.getRecords(); //返回查询结果,getRecords也是mybatisplus里面封装的方法
```
通过以上步骤,可以在Mybatis plus中使用in查询实现多个值的查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Mybatis plus中使用in查询出错如何解决](https://download.csdn.net/download/weixin_38573171/12721619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [mybatis plus in方法使用](https://blog.csdn.net/qq_15072163/article/details/107055792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [myBatis-plus sql中in的用法](https://blog.csdn.net/weixin_45796051/article/details/123133303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文