MYSQL数据库

查出数据调用封装类

 List<Menu> menulist = new ArrayList<Menu>();menulist = menuService.menuList();MenuTree menuTree = new MenuTree();System.out.println(menuTree.menuList(menulist));

树形结构封装类

package com.sdmc.util;import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.sdmc.bean.Menu;public class MenuTree {public static Map<String,Object> mapArray = new LinkedHashMap<String, Object>();public List<Menu> menuCommon;public List<Object> list = new ArrayList<Object>();public List<Object> menuList(List<Menu> menu){    this.menuCommon = menu;for (Menu x : menu) {   Map<String,Object> mapArr = new LinkedHashMap<String, Object>();if(x.getPid()==0){mapArr.put("id", x.getId());mapArr.put("name", x.getName());mapArr.put("level", x.getLevel());mapArr.put("pid", x.getPid());    mapArr.put("child", menuChild(x.getId()));    list.add(mapArr);}} return list;}public List<?> menuChild(int id){List<Object> lists = new ArrayList<Object>();for(Menu a:menuCommon){Map<String,Object> childArray = new LinkedHashMap<String, Object>();if(a.getPid() == id){childArray.put("id", a.getId());childArray.put("name", a.getName());childArray.put("level", a.getLevel());childArray.put("pid", a.getPid());childArray.put("child", menuChild(a.getId()));   lists.add(childArray);}}return lists;}
}

结果

[{id=1, name=内容管理, level=1, pid=0, child=[{id=6, name=栏目管理, level=2, pid=1, child=[{id=17, name=管理内容, level=3, pid=6, child=[{id=11, name=业务管理, level=4, pid=17, child=[]}]}]},{id=7, name=模型管理, level=2, pid=1, child=[]}]},
{id=2, name=用户管理, level=1, pid=0, child=[{id=10, name=会员管理, level=2, pid=2, child=[]}]}
]

springmvc+mybatis 无极限树形结构菜单相关推荐

  1. 自定义类 无极限树形结构菜单(繁杂版)

    注意: 主要是理解形成树形菜单的思路,并不是粘贴就可以用的. 返回数据(如:效果图)到页面后,通过js做递归调用处理就好了. 树形菜单基础类: TreeGridCategory.java public ...

  2. vue 递归组件多级_Vue递归组件实现树形结构菜单

    Tree 组件是递归类组件的典型代表,它常用于文件夹.组织架构.生物分类.国家地区等等,世间万物的大多数结构都是树形结构.使用树控件可以完整展现其中的层级关系,并具有展开收起选择等交互功能. 如图所示 ...

  3. php 递归生成树形菜单,递归生成树形结构菜单

    public List listWithTree() { //1.查出所有菜单 List categoryEntities = categoryDao.selectList(null); //2.组装 ...

  4. Mybatis返回树形结构

    在返回json数据时常常需要返回树形的结构,自己去写递归来构建树的话又太麻烦了. 下面介绍一种使用mybatis来返回树形结构的好方法 表结构展示 表里面需要记录父级Id MyBatis一对多coll ...

  5. mybatis mysql 树形结构_Mybatis查询树形结构数据

    数据表的设计 创建数据表 对于树形结构的数据库设计通常是基于继承关系设计的,也就是通过父ID关联来实现的. 一张树形结构的数据表基本的三个字段:id(自己).name(名称)和parentid(父类编 ...

  6. zTree实现树形结构菜单

    文章目录 一.简介 二.前端渲染效果 三.实现步骤 1.数据库表结构 2.引入zTree插件 3.树形结构实体类SysModule 4.表示层代码 5.js渲染部分 1.树初始化配置 2.加载数据树 ...

  7. mybatis 父子级树形结构查询

    针对父子级数据目录查询, 以前都是逐级的去根据父级id查询子集目录, 查出后最后再在代码中拼成树形结构, 相当复杂,我们可以利用 mybatis 提供的 collection 标签自动组织树形结构, ...

  8. 超多树形结构的JavaScript菜单实例

    超多树形结构的JavaScript菜单实例,树控菜单,有大家常用的展开折叠型,也就是节点树:还有的是多级的菜单,类似树型,右键菜单树,还有的是悬浮层树,都比较不错,希望大家喜欢. http://www ...

  9. SpringMVC+ZTree实现树形菜单权限配置

    计划在开源项目里加入权限配置的功能,打算加入zTree实现树形结构. Team的Github开源项目链接:https://github.com/u014427391/jeeplatform 欢迎sta ...

最新文章

  1. SDWebImage内部实现过程
  2. Hadoop学习笔记(8) ——实战 做个倒排索引
  3. android 中的aidl
  4. 腾讯 监控系统服务器数据采集,实战低成本服务器搭建千万级数据采集系统
  5. Python实现一个数组除以一个数
  6. socket编程 —— 非阻塞socket (转)---例子已上传至文件中
  7. 黑客走开系列1:Python使用元组做函数实参让代码更安全!
  8. Intel的AVX2指令集解读
  9. http://mozilla.debian.net/
  10. Atitit 代码的导航 1.1.代码的层次导航 语句 函数方法 类 包 1.2.4.4. 代码可视化 流程图 一个方法内,多个代码行的关系图 语句to方法 2 1.3.4.5. 类图 类结构
  11. 整合并接班MSN!Win8版Skype完全体验
  12. [文摘20080226]领导法则 - 陈安之
  13. 不懂域名系统,何谈网络编程
  14. 台式计算机如何定时关机,台式电脑如何设置每天定时关机
  15. 你知道吗?计算机界也有诺贝尔奖!
  16. 元宇宙营业厅,数字技术融合,赋能实体经济
  17. CSS3实现径向渐变
  18. bitmap的六种压缩方式,Android图片压缩(转)
  19. 毕业论文写作中致谢词的常见写法及优秀范文
  20. 超好看的css动画特效实现

热门文章

  1. 【单片机笔记】关于RGB彩灯WS2812B的驱动
  2. 练习牛客网笔试题--前端js--60-双色球机选一注
  3. 爆刷PAT(甲级)——之【1148】 Werewolf - Simple Version(20 分)——思维
  4. 字母,数字,下划线,数字的正则表达式
  5. 如何快速设计一款门磁传感器产品?App即可确认门窗关闭
  6. 解决matlab 关于警告(warning)、错误(error)、异常(exception)与断言(assert)问题总结
  7. HarmonyOS——一个面向物联网的操作系统
  8. 推箱子android课程设计,推箱子游戏课程设计精选.doc
  9. mysql 什么是主键_mysql – 主键应该是什么?
  10. “CIO生存法则”培训——企业信息主管如何成功的“潜规则”