java 查询递归查询ztree 数据并返回到前台

这两个学习ztree树来   主要的是查询树结构数据  我把数据存在一张表中 ,

java 查询递归查询ztree 数据并返回到前台_第1张图片

父类pId为0,子类pId 关联父类ID

主要用到了递归查询来完成

直接上代码了

public List> findALLP() {
    //查询所有分类
    List> careList = cateMapper.findALLP();
    //需要返回前台数据
    List> newCateList = new ArrayList<>();
    for (Map 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 cate,List> cateList,List> newCateList){

    for (Map cate1: cateList) {
       //父类id和子类pid比较 
        if (cate.get("id").toString().equals(cate1.get("pId").toString())){
            //父类id和子类pid如果相同添加到集合,
            newCateList.add(cate1);
            //递归查询子类是否还有子类
            sortCate(cate1,cateList,newCateList);
        }
    }
}

 

你可能感兴趣的:(java 查询递归查询ztree 数据并返回到前台)