现在项目中大多是前后端分离的项目,我们后端给数据,前端调用数据展示,所以我们后端可以将查到的数据放到集合里面,传递给前端。

1.二级查询的思路与方法,我们可以再创建两个实体,一个是一级实体,一个是二级实体,有人可能会有疑问,一级,二级里面要有啥属性呢,首先必须有id,其次就是你想要在前端展示内容,比如名字,年龄等信息,另外一级实体里面有包含二级实体,也就是说一个一级里面可以有许多的二级,直接看图吧

2.从我们的数据库中查出所有的一级与二级分类

3 创建list集合,存储我们的数据,这就是我们要传到前端的内容

4 对我们的一级分与二级分类类进行封装,首先遍历查到的所有一级分类,然后把每一个一级分类赋值到我们所新创建的一级分类实体,此时在得到此一级分类的id,然后遍历我们的所查询二级分类集合,当我们的二级分类的父id与一级分类id相等时,说明此时的二级分类是属于此一级分类的,我们就将它加入集合,内循环完成后,我们就查找到了此一级分类的所有二级分类,我们集合赋值给我们的新创建一级分类的child,最后返回我们的list集合即可。代码如下

 public List<OneSubject> getAllOneTwoSubject() {//1 查询所有一级分类  parentid = 0QueryWrapper<Subject> wrapperOne = new QueryWrapper<>();wrapperOne.eq("parent_id","0");List<Subject> oneSubjectList = baseMapper.selectList(wrapperOne);//2 查询所有二级分类  parentid != 0QueryWrapper<Subject> wrapperTwo = new QueryWrapper<>();wrapperTwo.ne("parent_id","0");List<Subject> twoSubjectList = baseMapper.selectList(wrapperTwo);//创建list集合,用于存储最终封装数据List<OneSubject> finalSubjectList = new ArrayList<>();//3 封装一级分类//查询出来所有的一级分类list集合遍历,得到每个一级分类对象,获取每个一级分类对象值,//封装到要求的list集合里面 List<OneSubject> finalSubjectListfor (int i = 0; i < oneSubjectList.size(); i++) { //遍历oneSubjectList集合//得到oneSubjectList每个eduSubject对象Subject eduSubject = oneSubjectList.get(i);//把eduSubject里面值获取出来,放到OneSubject对象里面OneSubject oneSubject = new OneSubject();
//            oneSubject.setId(eduSubject.getId());
//            oneSubject.setTitle(eduSubject.getTitle());//eduSubject值复制到对应oneSubject对象里面BeanUtils.copyProperties(eduSubject,oneSubject);//多个OneSubject放到finalSubjectList里面finalSubjectList.add(oneSubject);//在一级分类循环遍历查询所有的二级分类//创建list集合封装每个一级分类的二级分类List<TwoSubject> twoFinalSubjectList = new ArrayList<>();//遍历二级分类list集合for (int m = 0; m < twoSubjectList.size(); m++) {//获取每个二级分类Subject tSubject = twoSubjectList.get(m);//判断二级分类parentid和一级分类id是否一样if(tSubject.getParentId().equals(eduSubject.getId())) {//把tSubject值复制到TwoSubject里面,放到twoFinalSubjectList里面TwoSubject twoSubject = new TwoSubject();BeanUtils.copyProperties(tSubject,twoSubject);twoFinalSubjectList.add(twoSubject);}}//把一级下面所有二级分类放到一级分类里面oneSubject.setChildren(twoFinalSubjectList);}return finalSubjectList;}

5 我想说一下采用此方法的好处,此方法减少了对数据库的操作,并且容易理解,但是如果是对于多级分类查询的话,还是建议用递归的方法

关于查询二级分类的简单方法相关推荐

  1. 电脑IP地址查询,3个实用方法!

    案例:电脑IP地址怎么查询 [请问有没有朋友知道电脑IP地址怎么查询呀?想看看我的IP地址却不知道该怎么查询,哪位友友可以帮帮我!] 在互联网世界中,IP地址是一种用于标识设备(如电脑.手机等)在网络 ...

  2. 二级分类 php,PHP二级分类查询显示方法

    如题:求解 PHP 多级分类查询显示方法! 数据库: id   f_id   name 1    0       理科 2    0       文科 3    0       艺术 4    1   ...

  3. 无限极分类php简单,创建无限极分类树型结构的简单方法

    先上效果图 顶级分类其实就是一级分类,二级分类也叫作一级分类的子分类,在这个基础上,子分类还可以拥有子分类,这样就构成了无限极分类. 接下来看具体实现的代码: 一.在控制器中按字段查询,查询出所有分类 ...

  4. 实战演练 | MySQL PROCESSLIST 表和 Navicat Monitor 识别慢速查询的简单方法

    通常,当数据库长时间运行较慢时,罪魁祸首往往是"坏"查询.也就是说,查询未完全优化.编写不当或使用户能够从数据库中获取无限数量的行.我们可以通过在服务器上投入更多资源来减轻一些痛苦 ...

  5. oracle查询多个条件查询,ORACLE多条件统计查询的简单方法

    前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析.一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该. @H_301_2@ 然后就开始百度,多种 ...

  6. php网页加查询框,Twentytwelve头部添加搜索框及网站名称与描述同行显示的简单方法 | 科研动力...

    Twenty Twelve 主题的头部默认没有搜索框,不像它的前辈和后生.这点我就不明白了,Twentyeleven和最新的Twentythirteen都有搜索框,为何Twentytwelve就没有呢 ...

  7. 使用递归方法查询所有分类(一)

    使用递归方法查询所有分类(一) ###递归的方法在很多项目中的很多场景中都会用到,很多教学都拿一些阶乘啊,从1加到100之类的来举例,但对于不懂递归原理的新猿来说,看完这些例子往往不能够做到举一反三, ...

  8. 计算机二级的简单项目,2016年计算机二级考试VB简单综合应用题冲刺

    三.简单应用题 42(1)为职工表设计一个名为zgb的快速报表. (2)修改考生文件夹中的"工资查询.prg"文件,此文件的功能为: 通过结构复制数据表文件"工资表&qu ...

  9. 织梦联动添加三级分类后无法添加二级分类的解决方案

    织梦官方提供的联动类别不能添加二级联动.在dedecmsV5.7中添加一二级分类没有出现任何错误,但是,当添加三级分类后,再次添加一级二级分类就出现错误,一级二级分类分别变成二级三级了. 这个是一个小 ...

最新文章

  1. 宝藏索引图出炉!一图在手,文章全拥有!
  2. Django 前后台的数据传递
  3. java与室内设计_【Java JDK和躺平设计家3D室内设计哪个好用】Java JDK和躺平设计家3D室内设计对比-ZOL下载...
  4. GDCM:DICOM PS 3.10文件格式的测试程序
  5. java解析表字段_从SQL / HQL Java解析表和列名
  6. 一台7纳米光刻机月产能有多大,何为能卖上亿美元?
  7. postman测试工具
  8. Spring线程池服务
  9. 搜集访问网页历史记录软件_微软宣布OneDrive版本历史记录功能抵达Win10和macOS客户端版...
  10. 保存为文件_OC如何保存为带通道易抠图文件?oc如何渲染对象蒙版?
  11. java后台通用权限管理系统(springboot)
  12. 使用jave1.0.2.jar进行音视频转码
  13. Linux好用的音乐播放器
  14. cisco命令防ping_ACL配置禁止PING
  15. 解密拼多多800元裂变营销新方法
  16. javax.validation.Validation使用方法
  17. 超好看的3D烟花代码
  18. python怎么算积分_蒙特卡洛方法求定积分及python实现(转)
  19. python之批量下载抖音视频
  20. 本周AI热点回顾:十四五规划“人工智能第一!”;深度学习漫画第一卷现已开源;英伟达GPU“屠榜”MLPerf

热门文章

  1. codeforces-103B Cthulhu
  2. RxAndroid io.reactivex.Scheduler无法转换为rx.Scheduler
  3. mmrotate旋转目标检测框架的学习与使用
  4. linux 网络不可达 网卡,我的服务器日志中的linux – (网络不可达)错误
  5. 2019广东申论县级下水文——优化营商环境,促进经济高速发展
  6. WinForm轻松实现自定义分页 (转载)
  7. 关于Codeforces的一点事
  8. 用DataSetSurrogate加速WebService
  9. iFunk S游戏本,定义机械键盘
  10. NFC手机识别身份证的技术实现思路