1.数据库设计

CREATE TABLE `expense_type` (`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '费用类型唯一主键ID',`NAME` varchar(100) DEFAULT NULL COMMENT '费用类型名称',`PID` int(11) DEFAULT NULL,`IS_DEL` varchar(20) DEFAULT '0' COMMENT '0为未删除,1为已删除,默认为0',PRIMARY KEY (`ID`) USING BTREE,KEY `isDel` (`IS_DEL`) USING BTREE COMMENT '假删除字段索引'
) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

2.service层代码

@Overridepublic RestResponse getAllExpenseType() {List<ExpenseType> expenseTypes = expenseTypeMapper.selectList();//查询此表的所有数据sql即可expenseTypes = generateTree(expenseTypes);return RestResponse.success(expenseTypes);}private List<ExpenseType> generateTree(List<ExpenseType> expenseTypeList) {List<ExpenseType> orgList = new ArrayList<>();for (ExpenseType sysMenu : expenseTypeList) {if (sysMenu.getPid() == null) {orgList.add(sysMenu);addSubs(sysMenu, expenseTypeList);}}return orgList;}private ExpenseType addSubs(ExpenseType org, List<ExpenseType> list) {for (ExpenseType sysOrg : list) {if (org.getId().equals(sysOrg.getPid())) {org.getSubs().add(addSubs(sysOrg, list));}}return org;}

3.查询出来的结构即为树状结构(理论上无穷级数)

mysql如何实现树状结构数据列表相关推荐

  1. Java - 树状结构数据解析

    由于工作中好多地方需要树状结构数据,在参考了网上递归实现和数据库存储过程实现,都不太满意.突然想到zTree也有解析该类数据的要求,所以在阅读了zTree源码的前提了,按照他的实现原理,写了一个jav ...

  2. vue目录树组件(树状结构列表)

    一般数据类展示内容,大多采用树状结构展示内容.类似效果如下: 关注微信公众号,查看效果 左侧是导航分类,可以进行新建,对单项导航分享和删除.单击导航,在右侧查询出当前导航下所有目录结构,可以新建目录. ...

  3. mysql如何实现树状结构_实现树状结构的两种方法

    实现树状结构的两种方法 实现树状结构的两种方法 1.递归法 递归是指在函数中显式的调用它自身. 利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适 ...

  4. 使用递归遍历树状结构数据

    递归遍历树状结构 datas:[{id: 1,name: '分组1',expand: true,type:'group',editable:false,active:false,children: [ ...

  5. java 树形数据_JAVA处理树状结构数据

    之前对于树状结构的处理没什么困难,但是最近的一个需求就很麻烦.其实遍历出树状结构并不是什么困难的事情,但是这个需求需要从底层节点统计数量,然后向上修改所有的父级结构. 最难的地方就是这个地方,可能有的 ...

  6. 树状结构数据查询方法

    需求 需要查询组织架构下所有部门数据,这里层级有多深我们并不知道,所以不能通过for循环指定次数来遍历,看这个图 解决方案 参考了一些文档大概意思就是--使用递归(名词解释:程序调用自身的编程技巧称为 ...

  7. asp mysql 可编辑树状,基于数据库动态生成树形目录-ASP教程,数据库相关

    一. 目录树的广泛应用 为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有.搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,java中的awt正是缺乏包括树形目录这样的 ...

  8. java组装树状结构数据集合_JAVA构建List集合为树形结构

    package com.zving.tree; import java.util.ArrayList; import java.util.List; /** * 树形结构实体类 * @author c ...

  9. 省地市联动组件,java返回树状结构数据解决方案

    省地市联动组件,根据element-ui组件的json格式要求,返回对应的数据结构,首先我们得有一张表记录中国的省市区数据 类似于这样,然后我们用java8 的stream api来实现数据拼接 pu ...

最新文章

  1. 智能机器人:衡量高端制造水平的重要标志
  2. javascript刷新页面的集中办法
  3. Bitcoin Unlimited发布BCH新版客户端1.5.0.0,包括CTOR和CDSV
  4. linux系统内存执行elf的多种方式
  5. linux 历史命令列表,fc – 显示历史列表中的命令或修改指定的历史命令并执行。 - Linux 命令大全...
  6. 英语中的介词详细解释
  7. 利用rsync如何同步单个文件
  8. C#创建简单的验证码
  9. 23个Python爬虫开源项目代码Python爬虫开源项目代码
  10. 线程实现的方式、多线程模型
  11. redhad6.4 安装zabbix2.4
  12. EAR、JAR、WAR(IT)
  13. 从caffe2 开源的代码中抽取 用于加载已训练神经网络参数,使用CPU进行预测的 部分代码,并运行成功一个预测模型...
  14. Mac技巧:如何使用macOS Big Sur中“通知中心”的小组件?
  15. 国内十大不可错过的免费学习资源网站(火速收藏中)
  16. java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService$Iface
  17. 简单做份西红柿炒蛋778
  18. com.android.phone已停止运行怎么解决方法,com.android.phone进程意外停止/已停止运行的原因及解决方法...
  19. APP内测分发平台源码|应用分发源码|开源分发平台搭建
  20. js中find和findIndex的使用

热门文章

  1. 使用pip install安装自定义工具包(PyPI平台)
  2. AnyChat音视频通信实现
  3. ps4手柄usb线连接后可以玩电脑游戏
  4. [论文记录] 2019 - Utilizing Arousal-Valence Relationship for Continuous Prediction of Valence in Movies
  5. 对比分析杨氏双缝干涉和insar参考面模型的区别?与高程相比,为什么InSAR干涉相位对形变更敏感?干涉基线?平地效应?高程模糊度?
  6. 2014 微软校招笔试题以及答案(求指正)
  7. 基于STM32任意键薄膜键盘代码
  8. linux中的Ctrl+C的
  9. codeforce 1278A(暴力水题)
  10. 手工计算机视频教程,diy手工制作_DIY视频教程大全