返回树型数据怎么写?
public List<OneSubject> getAllOneTwoSubject() { //查询以及分类 QueryWrapper<EduSubject> wrapperOne = new QueryWrapper<>(); wrapperOne.eq("parent_id", "0"); //mybatis-plus中的方法 List<EduSubject> oneSubjectList = baseMapper.selectList(wrapperOne); // this.list(wrapperOne); //等同于baseMapper.selectList() //查询二级分类 QueryWrapper<EduSubject> wrapperTwo = new QueryWrapper<>(); wrapperOne.ne("parent_id", "0"); List<EduSubject> twoSubjectList = baseMapper.selectList(wrapperTwo); //创建list集合,用于存放最终的数据 ArrayList<OneSubject> finalSubjectList = new ArrayList<>(); //封装一级分类 //查询出来所有的一级分类list集合遍历,得到每个一级分类对象,获取每个一级分类对象值, //封装到要求的list集合里面 List<OneSubject> finalSubjectList for (int i = 0; i < oneSubjectList.size(); i++) { //得到oneSubjectList每个eduSubject对象 EduSubject 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++) { //获取每个二级分类 EduSubject 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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了