这两个学习ztree树来 主要的是查询树结构数据 我把数据存在一张表中 ,
父类pId为0,子类pId 关联父类ID
主要用到了递归查询来完成
直接上代码了
public List<Map<String,Object>> findALLP() {
//查询所有分类
List<LinkedHashMap<String, Object>> careList = cateMapper.findALLP();
//需要返回前台数据
List<Map<String,Object>> newCateList = new ArrayList<>();
for (Map<String,Object> cate: careList) {
if (cate.get("pId").toString().equals("0")){
//添加父类
newCateList.add(cate);
//调用递归方法
sortCate(cate,careList,newCateList);
}
}
return newCateList;
}
/**
* 递归查询方法
* @param cate 父级分类
* @param cateList 所有分类
* @param newCateList 返回的分类
*/
private void sortCate(Map<String,Object> cate,List<LinkedHashMap<String,Object>> cateList,List<Map<String,Object>> newCateList){
for (Map<String,Object> cate1: cateList) {
//父类id和子类pid比较
if (cate.get("id").toString().equals(cate1.get("pId").toString())){
//父类id和子类pid如果相同添加到集合,
newCateList.add(cate1);
//递归查询子类是否还有子类
sortCate(cate1,cateList,newCateList);
}
}
}