树状结构

返回菜单数据需要体现父子菜单的层级关系

1.查询当前用户下的所有菜单数据

@Overridepublic List<Menu> selectRouterMenuTreeByUserId(Long id) {return buildMenuTree(menuMapper.selectRouterMenuTreeByUserId(id),0L);}

2.构建树结构,先过滤出第一层菜单,向第一层菜单里添加子菜单

 private List<Menu> buildMenuTree(List<Menu> menus,Long parentId) {//先找出第一层的菜单,然后将子菜单设置到children属性中List<Menu> menuTree = menus.stream()//过滤出所有菜单里是第一层的菜单,parentId=0L.filter(menu -> menu.getParentId().equals(parentId))//向当前菜单里添加子菜单.map(menu -> menu.setChildren(getChildren(menu, menus))).collect(Collectors.toList());return menuTree;}

3.获取当前菜单的子菜单集合

 private List<Menu> getChildren(Menu menu, List<Menu> menus) {List<Menu> childrenList = menus.stream().filter(m -> m.getParentId().equals(menu.getId()))//子菜单的下一级(第三层一般很少用).map(m->m.setChildren(getChildren(m,menus))).collect(Collectors.toList());return childrenList;}

树状结构(MybatisPlus)相关推荐

  1. 用中值排序基数法实现树状结构 (转)

    在BBS的编写中,经常有人问怎样实现树状结构?一个比较不负责任的回答是:使用递归算法.当然,递归是一个可行的办法 (二叉树的历遍也好象只能使用递归算法),但对于BBS来说,这样做势必要进行大量的Sql ...

  2. 递归查询树状结构某个确定的节点

    递归 递归算法在日常工作中算是用的比较多的一种,比如DOM树的遍历,多层级树状结构的生成,遍历寻找某个树节点等 1 先来看下数据结构 var result = {id:0,name:"张飞& ...

  3. 系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构...

    系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这 ...

  4. file类打印目录---树状结构,递归

    package Test; import java.io.File; /** * file类打印目录---树状结构,递归 * @author Administrator * */ public cla ...

  5. oracle 树状结构一直出现不了_SEO站内优化:网站结构优化(十一)

    上文已经对搜索引擎排名机制,以及影响关键词排名的因素进行了全面的讲解,详情查阅SEO入门到精通(十):搜索引擎的排名机制.本文主要讲解站内优化中最为重要的"网站结构优化",为什么说 ...

  6. oracle 树状结构一直出现不了_深入解析Oracle ASSM 段头块(PAGETABLE SEGMENT HEADER)结构...

    一.概念介绍 Oracle ASSM(Automatic Segment Space Managed)使用位图来管理数据库中的空间,具有管理简单.高并发等优点,ASSM的整体结构是3层位图块+数据块, ...

  7. 我的前端工具集(四)树状结构后篇

    我的前端工具集(四)树状结构后篇   liuyuhang原创,未经允许禁止转载 目录 我的前端工具集 上文连接 我的前端工具集(四)树状结构前偏 1.数据组织 在3.2.节有截图 2.树状结构代码 2 ...

  8. 数据库树状结构的关系表的删除方案

    所谓的树状结构的关系,即是记录之间有id,parentId关系的数据.场景是这样的:业务中用到了一张分享表,表里的主要字段有分享人,和被分享人,以及分享任务ID,可以通过一系列的分享构造成树状的结构, ...

  9. 使用jQuery Treeview插件实现树状结构效果

    首先到一个国外网站上下载Treeview插件: http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ 当然你也可以通过我博客的源文件 ...

最新文章

  1. Mockito测试void方法会引发异常
  2. Boost:bimap双图项目的测试程序
  3. c语言字符串初值问题!
  4. 如何在XenDesktop没有工具栏情况下实现U盘自动映射为可移动磁盘
  5. Java的 published_Umbraco当没有当前的PublishedContentRequest时,无法呈现宏
  6. vi 编辑意外中断处理办法
  7. php jquery api文档,使用PHP、jQuery和JSON创建公共API
  8. Web 爬虫现已合法?
  9. 错误信息: 集合已修改;可能无法执行枚举操作。
  10. Runtime之消息转发
  11. SQL操作结果集-并集,差集,交集,结果集排序
  12. C# 在word中查找及替换文本
  13. 物业收费管理系统c语言编程,C语言程序设计-物业管理系统.doc
  14. cocos2d - JS Sprite 镜像反转显示 ( Flipped )
  15. 进阶篇:3.1)注塑件设计
  16. OpenNI + OpenCV
  17. 安装了windows 2012 遗憾的是不可以使用free launch bar
  18. 一款开源的PDF打印机(VB源码)!
  19. 赵小楼《天道》《遥远的救世主》深度解析(127)一解决生存,二让心有个安处
  20. 有什么实用的拍照识别文字技巧?电脑怎么拍照识别文字

热门文章

  1. QNX Hypervisor —— 虚拟机
  2. 数据结构 malloc
  3. 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事12月20日
  4. AnyChat开发流程指南
  5. AnyChat音视频通信实现
  6. FPGA三人表决器问题总结
  7. 将一些好看的图片变成素描画
  8. 刀模图是什么意思_【问答】刀模、刀模图 用英语怎么说? - 邦阅网-外贸知识服务平台...
  9. ANN:Asymmetric Non-local Neural Networks for Semantic Segmentation
  10. 输入百分制分数给出相应的等级