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才可以)
  • 相关阅读:
    内存碎片
    内核对象之异步IO请求完成时调用一个函数
    线程池之在内核对象触发时调用一个对象
    线程池之每隔一段时间调用一个函数
    线程池
    logging模块
    装饰器
    django 2.0 url匹配
    django models 文件夹
    转载
  • 原文地址:https://www.cnblogs.com/pxblog/p/14517634.html
Copyright © 2011-2022 走看看