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才可以)
  • 相关阅读:
    基于flask的web微信
    Scrapy框架
    python爬虫之Selenium
    python爬虫之request and BeautifulSoup
    CMDB的四种模式
    Django之CURD插件2
    Django之CURD插件
    在代码中使用Autolayout – intrinsicContentSize和Content Hugging Priority
    iOS事件传递&响应者链条
    CAEmitterLayer 粒子发射Layer的相关属性
  • 原文地址:https://www.cnblogs.com/pxblog/p/14517634.html
Copyright © 2011-2022 走看看