JAVA查询类别(菜单)下的所有子类别(递归)
JAVA实现查询栏目、类别(菜单)返回树结构(递归):https://www.cnblogs.com/pxblog/p/14587150.html
/** * 获取父类别下面的所有子类别 * @return List<StoreGoodsCate> 返回当前类别下的所有子类别集合 */ public List<StoreGoodsCate> getCateNode(List<StoreGoodsCate> storeGoodsCates){ List<StoreGoodsCate> newCateIdNode = new ArrayList<>(); for(StoreGoodsCate cate: storeGoodsCates){ if(getCateChildren(cate).size() != 0){ //还有子类别,递归查询所有子类别 newCateIdNode.addAll(getCateNode(getCateChildren(cate))); }else{ //没有子类别,把当前节点添加到集合中 newCateIdNode.add(cate); } } return newCateIdNode; } /** * 查询当前类别的子类别集合 * 这里根据自己实际项目方法即可 * @param storeGoodsCate * @return */ public List<StoreGoodsCate> getCateChildren(StoreGoodsCate storeGoodsCate){ QueryWrapper<StoreGoodsCate> queryWrapper = new QueryWrapper<StoreGoodsCate>() .eq("pid", storeGoodsCate.getId()) .eq("is_deleted", 0); return cateService.list(queryWrapper); }
这种方法只能适用于数据量比较少的,如果数据量很大,这种查询方式会非常慢,慎用
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)