树状结构(MybatisPlus)
树状结构
返回菜单数据需要体现父子菜单的层级关系
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)相关推荐
- 用中值排序基数法实现树状结构 (转)
在BBS的编写中,经常有人问怎样实现树状结构?一个比较不负责任的回答是:使用递归算法.当然,递归是一个可行的办法 (二叉树的历遍也好象只能使用递归算法),但对于BBS来说,这样做势必要进行大量的Sql ...
- 递归查询树状结构某个确定的节点
递归 递归算法在日常工作中算是用的比较多的一种,比如DOM树的遍历,多层级树状结构的生成,遍历寻找某个树节点等 1 先来看下数据结构 var result = {id:0,name:"张飞& ...
- 系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构...
系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这 ...
- file类打印目录---树状结构,递归
package Test; import java.io.File; /** * file类打印目录---树状结构,递归 * @author Administrator * */ public cla ...
- oracle 树状结构一直出现不了_SEO站内优化:网站结构优化(十一)
上文已经对搜索引擎排名机制,以及影响关键词排名的因素进行了全面的讲解,详情查阅SEO入门到精通(十):搜索引擎的排名机制.本文主要讲解站内优化中最为重要的"网站结构优化",为什么说 ...
- oracle 树状结构一直出现不了_深入解析Oracle ASSM 段头块(PAGETABLE SEGMENT HEADER)结构...
一.概念介绍 Oracle ASSM(Automatic Segment Space Managed)使用位图来管理数据库中的空间,具有管理简单.高并发等优点,ASSM的整体结构是3层位图块+数据块, ...
- 我的前端工具集(四)树状结构后篇
我的前端工具集(四)树状结构后篇 liuyuhang原创,未经允许禁止转载 目录 我的前端工具集 上文连接 我的前端工具集(四)树状结构前偏 1.数据组织 在3.2.节有截图 2.树状结构代码 2 ...
- 数据库树状结构的关系表的删除方案
所谓的树状结构的关系,即是记录之间有id,parentId关系的数据.场景是这样的:业务中用到了一张分享表,表里的主要字段有分享人,和被分享人,以及分享任务ID,可以通过一系列的分享构造成树状的结构, ...
- 使用jQuery Treeview插件实现树状结构效果
首先到一个国外网站上下载Treeview插件: http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ 当然你也可以通过我博客的源文件 ...
最新文章
- Mockito测试void方法会引发异常
- Boost:bimap双图项目的测试程序
- c语言字符串初值问题!
- 如何在XenDesktop没有工具栏情况下实现U盘自动映射为可移动磁盘
- Java的 published_Umbraco当没有当前的PublishedContentRequest时,无法呈现宏
- vi 编辑意外中断处理办法
- php jquery api文档,使用PHP、jQuery和JSON创建公共API
- Web 爬虫现已合法?
- 错误信息:	集合已修改;可能无法执行枚举操作。
- Runtime之消息转发
- SQL操作结果集-并集,差集,交集,结果集排序
- C# 在word中查找及替换文本
- 物业收费管理系统c语言编程,C语言程序设计-物业管理系统.doc
- cocos2d - JS Sprite 镜像反转显示 ( Flipped )
- 进阶篇:3.1)注塑件设计
- OpenNI + OpenCV
- 安装了windows 2012 遗憾的是不可以使用free launch bar
- 一款开源的PDF打印机(VB源码)!
- 赵小楼《天道》《遥远的救世主》深度解析(127)一解决生存,二让心有个安处
- 有什么实用的拍照识别文字技巧?电脑怎么拍照识别文字