1.业务接口文档
有参数:则需要接,普通get请求使用 @PathVariable接收参数.
2.数据库表
搞清: 一级id对应的是二级的parent_id,二级的id对应的是三级的parent_id
一级的level=1,二级的level=2,三级的level=3
3.实际效果
4.程序编写
1)Controller层
2)业务层
高性能使用Map集合对数据进行处理
创建getMap()拿到里面的数据:主要利用MP selectList(null) 拿到itemCats对象
将itemCats对象传入map集合,注意判断key的值是否为空,此时的key为parent_id
如果为null ,创建行的value泛型集合,同时将对象传入map集合
List<ItemCat> temp=new ArrayList<>();
key不为null则:对map里面的对应的vulue增添数据
map.get(parentId).add(itemCat);
对map集合的数据进行处理,根据一级的parent_id=0,可以暂时拿到一级数据,
对level进行判断
编写拿到二级数据的方法
根据 map.get(0); 可以拿到一级的集合对象
对一级集合对象进行遍历,
根据一级对象的id可以得到二级对象的parent_id
Integer parentid=itemCat.getId();
根据二级的parent_id对应map里面的key,可以得到二级的集合对象
List<ItemCat> twoItemList = map.get(parentid);
将二级集合,传入一级对象
itemCat.setChildren(twoItemList);