递归展示用户端商品分类列表的层级关系

2023-11-04

递归展示用户端商品分类列表的层级关系

自定义列表实体类

添加属性:
private List<CategoryVO> childCategory = new ArrayList<>();
在这里插入图片描述

service层递归调用

父亲id从0开始。。。
递归调用就是指定当前商品id为父id,以当前商品的List<CategoryVO> childCategory属性字段存储寻找的子目录。。。

    @Override
//    @Cacheable(value = "listCategoryForCustomer")
    public List<CategoryVO> listCategoryForCustomer() {
        ArrayList<CategoryVO> categoryVOList = new ArrayList<>();
        recursivelyFindCategories(categoryVOList, 0);
        return categoryVOList;
    }

    private void recursivelyFindCategories(List<CategoryVO> categoryVOList, Integer parentId) {
        //递归获取所有子类别,并组合成为一个“目录树”
        List<Category> categoryList = categoryMapper.selectCategoriesByParentId(parentId);
        if (!CollectionUtils.isEmpty(categoryList)) {
            for (int i = 0; i < categoryList.size(); i++) {
                Category category = categoryList.get(i);
                CategoryVO categoryVO = new CategoryVO();
                BeanUtils.copyProperties(category, categoryVO);
                categoryVOList.add(categoryVO);
                recursivelyFindCategories(categoryVO.getChildCategory(), categoryVO.getId());
            }
        }
    }

selectCategoriesByParentId的mapper就是找符合指定父id的所有商品
在这里插入图片描述

其中

BeanUtils.copyProperties(category, categoryVO);

复制category类的属性值到categoryVO属性值里面。
快速完成类之间属性的赋值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归展示用户端商品分类列表的层级关系 的相关文章

  • 将 MouseListener 添加到面板

    我正在尝试将鼠标操作添加到我的面板中 这就是程序应该做的事情 编写一个程序 允许用户通过按三下鼠标来指定一个三角形 第一次按下鼠标后 画一个小点 第二次按下鼠标后 绘制一条连接前两个点的线 第三次按下鼠标后 绘制整个三角形 第四次按下鼠标会
  • 在 Java 中使用 Batik 检查和删除 SVG 中的属性

    这个问题基本上说明了一切 如何检查 SVG 是否具有 viewBox 属性 我正在使用蜡染库 我需要这个 因为我需要 至少 通知用户有一个 viewBox 属性 我可以删除它吗 使用 org w3c dom 类 您可以按照以下方式做一些事情
  • 在 jTextfield 中禁用“粘贴”

    我有一个用 Swing awt 编写的应用程序 我想阻止用户将值粘贴到文本字段中 有没有办法在不使用动作监听器的情况下做到这一点 您可以使用 null 参数调用 setTransferHandler 如下所示 textComponent s
  • 如何在url请求中发送数组

    我的要求如下 我想给出演员姓名 开始日期 结束日期并获取他在该时期出演的所有电影 因此 我的服务请求是这样的 http localhost 8080 MovieDB GetJson name Actor startDate 20120101
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 迭代函数可以调用自身吗?

    当观看下面的 MIT 6 001 课程视频时 讲师在 28 00 将此算法标记为迭代 但是 在 30 27 他说这个算法和实际的 递归 算法都是递归的 该函数正在使用基本情况调用自身 那么这次迭代情况如何 private int itera
  • 本地开发的 Azure Functions 扩展包版本问题

    我有一个带有队列触发器的 Java 11 Azure 函数 该函数在部署到 Azure 时按预期工作 并正确从定义的服务总线主题中提取消息 但是 运行相同的功能locally除非我回滚版本 否则不起作用Azure Functions 绑定扩
  • 在哪里保存选项值、重要文件的路径等[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在创建一个程序 需要设置一些选项值以及图像文件的一些路径 SQLite 数据库的路径 有关各种按钮上文本的一些信息 有关要使用哪个数据库的信
  • 我需要在 JFileChooser(打开模式)中显示不带扩展名的文件名。如何?

    我在打开模式下使用 JFileChooser 我需要显示不带扩展名的 文件名 字段 如何 我知道文件视图 它删除文件系统文件中的扩展名 但将所选文件中的扩展名保留在 文件名 字段中解释 http saveimg ru show image
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 确定序列化对象的类型

    我需要通过套接字发送消息 从用户到引擎的请求 以及从引擎到用户的响应 所以流程本质上是 serialized request Server lt network gt Client serialized response request r
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • 在grails控制器中识别ajax请求或浏览器请求

    我正在开发一个使用大量ajax的grails应用程序 如果请求是ajax调用 那么它应该给出响应 这部分正在工作 但是如果我在浏览器中输入URL 它应该带我到主页 索引页面而不是请求的页面 下面是ajax调用的示例gsp代码
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 如何从字符串中解析一个大整数? [复制]

    这个问题在这里已经有答案了 我有一个这样的方法 Integer parseInt myInt 不是这个整数变得很长 我得到以下异常 java lang NumberFormatException For input string 40001
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • Errors/BindingResult 参数应在模型属性、@RequestBody 或 @RequestPart 参数之后立即声明

    我通过剖析示例应用程序来自学 Spring 然后到处添加代码来测试我在剖析过程中开发的理论 在测试添加到 Spring 应用程序中的一些代码时 我收到以下错误消息 An Errors BindingResult argument is ex

随机推荐

  • Windows共享文件夹

    Windows共享文件夹 将服务器相应磁盘设置为共享式 本机可远程访问服务器 共享到本地 注意 将服务器相应磁盘设置为共享式 这里E已经是共享式 将D也设置为共享式 Desktop erps210 d 本机可远程访问服务器 将本机和服务器的
  • NUC980开源项目3-硬件进度

    上面是我的微信和QQ群 欢迎新朋友的加入 今天已下单 外观上和参考电路是一致的 不过我把走线改了下 可能是EDA下载的时候 有些数据乱了 不能搞到原版文件 3D效果
  • Java面试题--网络

    当你用浏览器打开一个链接的时候 计算机做了哪些工作步骤 1 解析域名 2 发起TCP的3次握手 3 建立TCP请求后发起HTTP请求 4 服务器相应HTTP请求 5 浏览器得到HTML代码 进行解析和处理JSON数据 并请求HTML代码中的
  • htmlspecialchars详解

    1 首先看下面的代码 你运行一下会发现显示完全正确 显示为 This is br text 你查看源代码会发现 This is lt br gt text htmlspecialchars 的作用就是显示完全正确 但是源码改变 具体改变规则
  • Redis的5种基本数据类型

    一 什么是Redis 在介绍redis的五种数据类型之前 我们要知道什么是redis redis是英文Remote Dictionary Server的缩写 也就是远程字典服务 它是一个开源的使用ANSI C语言编写的 支持网络 可基于内存
  • 数据库中的表关系

    1 一对一关系实例 假设现在有两张表 一个是妻子表 一个是丈夫表 这两张表很明显存在一对一的关系 存在两张表A和B 分别添加主键 在其中一张表当中设置外键关联另一张表当中的主键 2 一对多关系实例 一对多表关系当中 一方的表称为主表 多表的
  • 常见web漏洞原理整理

    文章目录 一 SQL注入 1 1SQL注入漏洞原理 1 2 SQL注入的两个关键点 1 3 与Mysql注入相关的知识点 1 4 SQL注入的主要分类 1 5 SQL注入的流程 1 5 1 普通SQL注入 1 5 2 盲注 1 6 SQL注
  • 微信和支付宝对我们生活产生翻天覆地的改变

    移动支付同样也是移动互联网发展的产物之一 如今我们基本已经告别了现金时代 大家出门兜里都不放现金了 所有的消费几乎都可以通过线上支付来实现 微信和支付宝的出现 对我们的生活产生了翻天覆地的改变 科技千万种 能够便民利民 解决用户需求的科技
  • 十个激活函数

    激活函数 Activation Function 是一种添加到人工神经网络中的函数 旨在帮助网络学习数据中的复杂模式 类似于人类大脑中基于神经元的模型 激活函数最终决定了要发射给下一个神经元的内容 在人工神经网络中 一个节点的激活函数定义了
  • 2014年秋季学期CSDN高校俱乐部全国高校巡讲讲师招募

    CSDN高校俱乐部 以下简称 俱乐部 是由全球最大中文IT技术社区CSDN发起的 由全国各高校在校生代表自发加入的IT技术学习型组织 CSDN由此搭建起行业与校园之间的桥梁 公益为各俱乐部提供行业资讯 技术学习 专家交流 技术竞赛等学习服务
  • java课堂练习——类与对象

    今天我们在Java课上学习了类与对象的知识点 一 验证ClassAndObjectTest java 1 代码 public class ClassAndObjectTest public static void main String a
  • AltiumDesigner 为何PCB中无法选中元器件

    关掉过滤器 清除当前过滤器
  • PhotoShop 基础教程-000

    文章目录 前言 总目录 前言 主要讲解photoshop基础知识 所有课程来源B站 PS教程 总目录 第1节 PhotoShop基础课程 版本发展 第2节 PhotoShop基础课程 基础操作 第3节 PhotoShop基础课程 PS界面认
  • Open3D 查看点的坐标

    一 手动选点 函数pick points pcd 创造了一个VisualizerWithEditing实例去模仿draw geometries 创造可视化窗口 添加几何图形 可视化几何图形和结束 VisualizerWithEditing提
  • dnf服务器维护公告,11月18日早4点-12点服务器例行维护公告

    尊敬的DNF用户 为保证服务器的稳定运行 提高游戏品质 我们将于2008年11月18日 周二 凌晨04 00 12 00对所有服务器停机 进行例行维护工作 根据维护工作的进度 停机结束时间有可能提前或者延后 由于福建1区 广东2区 广东3区
  • Apache Beam -- 简介

    概述 在大数据的浪潮之下 技术的更新迭代十分频繁 受技术开源的影响 大数据开发者提供了十分丰富的工具 但也因为如此 增加了开发者选择合适工具的难度 在大数据处理一些问题的时候 往往使用的技术是多样化的 这完全取决于业务需求 比如进行批处理的
  • IT专业技术人员学习网站整理

    1 高端数据资料库 http www chiefdatum com 站点介绍 包含产品数据 学习资料 技术资料 热门图书 眼镜设计 考研 医疗器械等资料为一体的综合性网站 提供专业性下载 2 CSDN NET http www csdn n
  • SpringMVC入门案例

    SpringMVC 概述 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 三层架构 表现层 负责数据展示 业务层 负责业务处理 数据层 负责数据操作 MVC Model View Controller 一种用于设计创建
  • Java本地缓存CaffeineCache集成

    首先导入需要的依赖
  • 递归展示用户端商品分类列表的层级关系

    递归展示用户端商品分类列表的层级关系 自定义列表实体类 service层 递归调用 自定义列表实体类 添加属性 private List