广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java递归实现菜单树的方法详解
  • 536
分享到

Java递归实现菜单树的方法详解

2024-04-02 19:04:59 536人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="Http://Maven.apache.

pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="Http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <!--  可选修改:之前的一些案例按照此版本搭建      -->
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-WEB</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--  spring boot 整合mybatis的核心依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!--        数据库驱动-->
        <dependency>
            <groupId>Mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--pageHelper分页插件-->
        <dependency>
            <groupId>com.GitHub.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- 引入lombok,简化pojo类-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--        引入Mybatis plus 依赖  增强mybatis-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

 application.yaml文件

spring:
  datasource:   
    url: jdbc:mysql://localhost:3306/SpringBoot?useUnicode=true&characterEncoding=utf-8&serverTimezone=CTT
    username: root
    passWord: 2020
    driver-class-name: com.mysql.cj.jdbc.Driver
pagehelper:
  helperDialect: mysql
  reasonable: true # 修改默认值
# mybatis-plus配置
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  typeAliasesPackage: com.qcby.entity
  mapperLocations: classpath:mapper
    public List<Menu> iterateMenus(List<Menu> menuVoList,String pid){
        List<Menu> result = new ArrayList<Menu>();
        for (Menu menu : menuVoList) {
            //获取菜单的id
            String menuid = menu.getId();
            //获取菜单的父id
            String parentid = menu.getPid();
            if(StringUtils.isNotBlank(parentid)){
                if(parentid.equals(pid)){
                    //递归查询当前子菜单的子菜单
                    List<Menu> iterateMenu = iterateMenus(menuVoList,menuid);
                    menu.setMenuChildren(iterateMenu);
                    result.add(menu);
                }
            }
        }
        return result;
    }
}

结果展示

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!    

--结束END--

本文标题: Java递归实现菜单树的方法详解

本文链接: https://www.lsjlt.com/news/144133.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java递归实现菜单树的方法详解
    pom文件 <xml version="1.0" encoding="UTF-8"> <project xmlns="http://maven.apache.or...
    99+
    2022-11-13
  • Java递归如何实现菜单树
    这篇文章将为大家详细讲解有关Java递归如何实现菜单树,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。pom文件<xml version="1.0" encod...
    99+
    2023-06-29
  • JAVA递归生成树形菜单的实现方法是什么
    今天小编给大家分享一下JAVA递归生成树形菜单的实现方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  递归生成一个...
    99+
    2023-06-26
  • JAVA递归生成树形菜单的实现过程
      递归生成一个如图的菜单,编写两个类数据模型Menu、和创建树形的MenuTree。通过以下过程实现:     1.首先从菜单数据中获取所有根节点。     2.为根节点建立次级子...
    99+
    2022-11-12
  • Vue2递归组件如何实现树形菜单
    小编给大家分享一下Vue2递归组件如何实现树形菜单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果如下图,点击后打开二级菜单,...
    99+
    2022-10-19
  • 详解Java递归实现树形结构的两种方式
    目录0、引言1、数据准备2、类型转化3、递归实现方法3.1、Java7及以下纯Java递归实现3.2、Java8及以上借助lamda表达式实现0、引言 在开发的过程中,很多业务场景需...
    99+
    2022-11-13
    Java递归实现树形结构 Java树形结构 Java递归
  • vue怎么实现左侧菜单树形图递归
    这篇文章主要讲解了“vue怎么实现左侧菜单树形图递归”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现左侧菜单树形图递归”吧!先说说遇到的坑,由于是子父组件,当时传递使用的是子父组...
    99+
    2023-07-04
  • java递归设置层级菜单的实现
    目录思路:思路: 先从集合中找出来顶级的菜单,然后遍历顶级菜单,找出每个顶级菜单的所有子菜单,然后判断当前需要排列的集合是否为空,如果不为空的话,就在遍历子菜单的下级菜单,直至没有需...
    99+
    2022-11-13
    java 递归设置层级菜单 java 层级菜单
  • vue中如何实现左侧菜单,树形图递归
    这篇文章给大家分享的是有关vue中如何实现左侧菜单,树形图递归的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图如下所示:先说说遇到的坑,由于是子父组件,当时传递使用的是子父组...
    99+
    2022-10-19
  • 怎么使用Vue递归组件实现树形菜单
    本文小编为大家详细介绍“怎么使用Vue递归组件实现树形菜单”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Vue递归组件实现树形菜单”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果如下图,点击后打开二级...
    99+
    2023-07-04
  • vue中怎么实现左侧菜单和树形图递归
    本文小编为大家详细介绍“vue中怎么实现左侧菜单和树形图递归”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中怎么实现左侧菜单和树形图递归”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果图如下所示:先说说...
    99+
    2023-06-20
  • Java方法递归的思路详解
    目录前言一、什么是方法递归二、什么场景下能用递归三、如何写出递归代码-重点总结前言 今天给老铁们回顾一下递归的思路以及方法,也是给自己的一个归纳总结。 一、什么是方法递归 所谓的方法...
    99+
    2022-11-13
  • Mysql树形递归查询的实现方法
    前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归查询 最近在做项目迁移,Oracle版本的迁到Mysql版本,遇...
    99+
    2022-10-18
  • C++实现二叉树非递归遍历算法详解
    目录一、二叉树的前序遍历二、二叉树的中序遍历三、二叉树的后序遍历3.1 方法一3.2 方法二一、二叉树的前序遍历 题目链接 我们可以把任何一棵树看成左路节点,左路节点和右子树。先访问...
    99+
    2023-05-17
    C++二叉树非递归遍历 C++非递归遍历 C++二叉树遍历
  • Java的递归算法详解
    目录一、介绍1、介绍2、案例二、迷宫问题三、八皇后问题四、汉诺塔问题1、问题2、思想3、代码总结一、介绍 1、介绍 递归:递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助...
    99+
    2022-11-12
  • Java二叉树的递归和非递归遍历方法是什么
    本篇内容主要讲解“Java二叉树的递归和非递归遍历方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java二叉树的递归和非递归遍历方法是什么”吧!前言二叉树的遍历方法分为前序遍历,中序遍...
    99+
    2023-06-30
  • Java开发深入分析讲解二叉树的递归和非递归遍历方法
    目录前言1.递归遍历2.非迭代遍历3.二叉树的统一迭代法前言 二叉树的遍历方法分为前序遍历,中序遍历,后续遍历,层序遍历。 1.递归遍历 对于递归,就不得不说递归三要素:以前序遍历...
    99+
    2022-11-13
  • Java递归实现树形结构的方式有哪些
    这篇文章主要介绍“Java递归实现树形结构的方式有哪些”,在日常操作中,相信很多人在Java递归实现树形结构的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java递归实现树形结构的方式有哪些”的疑...
    99+
    2023-07-04
  • java实现遍历树形菜单的方法有哪些
    这篇文章将为大家详细讲解有关java实现遍历树形菜单的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下。OpenSessionView实现:package org.web;imp...
    99+
    2023-05-30
    java
  • java非递归实现之二叉树的前中后序遍历详解
    二叉树的前中后序遍历 核心思想:用栈来实现对节点的存储。一边遍历,一边将节点入栈,在需要时将节点从栈中取出来并遍历该节点的左子树或者右子树,重复上述过程,当栈为空时,遍历完成。 前序...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作