zoukankan      html  css  js  c++  java
  • JAVA查询类别(菜单)下的所有子类别(递归)

    /**
         * 获取父类别下面的所有子类别
         * @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才可以)
  • 相关阅读:
    原生JS之温故而知新(一)
    jQuery版本问题
    AngularJs我的学习整理(不定时修改)
    Js事件处理程序跨浏览器
    AngularJs的关于路由问题
    很棒的十句话,分享给大家。
    一个人为什么要努力?
    春熙路。
    成都
    springboot 使用mybatis-generator自动生成代码
  • 原文地址:https://www.cnblogs.com/pxblog/p/14517634.html
Copyright © 2011-2022 走看看