经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
mybatis plus in方法使用详解
来源:jb51  时间:2021/4/19 8:38:55  对本文有异议

如果是List类型的String,例如:List<String>这种类型的,就直接放值就可以了,本文讲的是当你查询到的是一个list集合如何遍历取值,否则要写sql和接口就显得很麻烦。

步骤如下:

  1. //查询到list集合
  2. List<User> userList = userService.selectById(id);
  3. //结果集
  4. List<String> resultList = new ArrayList<>();
  5. //遍历集合取值
  6. userList .forEach(item->{
  7. resultList.add(item.getYouNeedId());
  8. });
  9. //条件构造器in上手使用
  10. QueryWrapper<User> qw = new QueryWrapper<>();
  11. qw.in("you_need_id", resultList);
  12. //这里有个分页的查询,你也可以不用分页,用mybatisplus里面封装的其他方法
  13. IPage<User> userIPage = userMapper.selectPage(page, qw);
  14. //返回查询结果,getRecords也是mybatisplus里面封装的方法
  15. return contractRecordIPage.getRecords();
  16.  

 补充:Mybatis Plus 通过QueryWrapper做查询时in()方法的使用

UserId类:

  1. @Data
  2. public class UserId {
  3. /**
  4. * 用户id集合
  5. */
  6. private JSONArray userIdList;
  7. }
  8.  

测试类:

  1. public class Test{
  2. public JSONArray getUserStatusList(UserId userId) {
  3. // 添加非空校验,JsonArray对象为null或长度为0时直接返回,不执行sql
  4. if (userId.getUserIdList() == null || userId.getUserIdList().size() == 0) {
  5. return new JSONArray();
  6. }
  7. // 创建查询Wrapper对象
  8. QueryWrapper wrapper = new QueryWrapper();
  9. wrapper.in("user_id", userId.getUserIdList());
  10. List list = baseMapper.selectObjs(wrapper);
  11. return JSONArray.parseArray(JSON.toJSONString(list));
  12. }
  13. }
  14.  

注意:如果不加非空校验,当集合为空集合时会报SQL的异常

到此这篇关于mybatis plus in方法使用详解的文章就介绍到这了,更多相关mybatis plus in内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号