iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java 递归查询部门树形结构数据的实践
  • 525
分享到

Java 递归查询部门树形结构数据的实践

2024-04-02 19:04:59 525人浏览 独家记忆

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

摘要

说明:在开发中,我们经常使用树形结构来展示菜单选项,如图: 那么我们在后端怎么去实现这样的一个功能呢? 1、数据库表:department 2、编写sql映射语句 &

说明:在开发中,我们经常使用树形结构来展示菜单选项,如图:

在这里插入图片描述

那么我们在后端怎么去实现这样的一个功能呢?

1、数据库表:department

在这里插入图片描述

2、编写sql映射语句


 <select id="selectDepartmentTrees" resultType="com.welb.entity.Department">
        select * from department
        <where>
            <if test="updepartmentcode!=null">
                and UpDepartmentCode=#{updepartmentcode}
            </if>
           
        </where>
    </select>

3、创建实体类


public class Department {
    private String departmentcode;//部门code

    private String departmentname;//部门名称

    private String updepartmentcode="0";//上级部门

    private String departmentdesc;//部门描述

    private List<Department> childDept =new ArrayList();//部门信息树


    public String getDepartmentcode() {
        return departmentcode;
    }

    public void setDepartmentcode(String departmentcode) {
        this.departmentcode = departmentcode == null ? null : departmentcode.trim();
    }

    public String getDepartmentname() {
        return departmentname;
    }

    public void setDepartmentname(String departmentname) {
        this.departmentname = departmentname == null ? null : departmentname.trim();
    }

    public String getUpdepartmentcode() {
        return updepartmentcode;
    }

    public void setUpdepartmentcode(String updepartmentcode) {
        this.updepartmentcode = updepartmentcode == null ? null : updepartmentcode.trim();
    }

    public String getDepartmentdesc() {
        return departmentdesc;
    }

    public void setDepartmentdesc(String departmentdesc) {
        this.departmentdesc = departmentdesc == null ? null : departmentdesc.trim();
    }

    public List<Department> getChildDept() {
        return childDept;
    }

    public void setChildDept(List<Department> childDept) {
        this.childDept = childDept;
    }
}

4、定义mapper


@Mapper
public interface DepartmentMapper {
    List<Department>selectDepartmentTrees(Department department);
    }

5、定义service业务层实现


@Service
@Transactional
public class DepartmentImpl implements IDepartmentService {
    @Resource
    DepartmentMapper departmentMapper;
    
    @Override
    public List<Department> selectDepartmentTrees(Department department) {
        return departmentMapper.selectDepartmentTrees(department);
    }
}

6、控制层实现


@RestController
@RequestMapping("department")
public class DepartmentController {
    @Resource
    IDepartmentService departmentService;
    @Resource
    IStationService stationService;

    
    @RequestMapping("/treelist")
    public Object selectAll(Department department) {
        ModelMap map = new ModelMap();
        try {
            List<Department> departmentDtos = getDepartmentList(department);
            map.put("msg", "查询部门成功");
            map.put("data", departmentDtos);
            map.put("code", 0);
        } catch (Exception e) {
            e.printStackTrace();
            map.put("msg", "查询部门失败");
            map.put("code", 1);
        }
        return map;
    }

    
    private List<Department> getDepartmentList(Department department) {
        List<Department> departments =departmentService.selectDepartmentTrees(department);
        if (departments.size()>0){
            Department department1=new Department();
            for (int i = 0; i <departments.size() ; i++) {
                department1.setUpdepartmentcode(departments.get(i).getDepartmentcode());
                List<Department>dtos=getDepartmentList(department1);
                departments.get(i).setChildDept(dtos);
            }
        }
        return departments;
    }
}

7、进行测试,这里我用postmain工具测试,结果如下图

在这里插入图片描述

到这里,递归查询部门树形结构数据就完成了

到此这篇关于Java 递归查询部门树形结构数据的实践的文章就介绍到这了,更多相关Java 递归查询树形结构内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java 递归查询部门树形结构数据的实践

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

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

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

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

下载Word文档
猜你喜欢
  • Java 递归查询部门树形结构数据的实践
    说明:在开发中,我们经常使用树形结构来展示菜单选项,如图: 那么我们在后端怎么去实现这样的一个功能呢? 1、数据库表:department 2、编写sql映射语句 &...
    99+
    2022-11-12
  • java递归实现树形结构数据
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、树形结构是什么?二、实现方案1、stream流递归实现1.1 实体类1.2 实现类 2、jdk1.7以下实现2.1 节点类2.2 实现类...
    99+
    2023-08-18
    java 数据库 mysql
  • sqlserver中怎么实现树形结构递归查询
    本篇文章为大家展示了sqlserver中怎么实现树形结构递归查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。公用表表达式(CTE),是一个在查询中定义的临时命名结...
    99+
    2022-10-18
  • java递归实现树形结构数据完整案例
    目录前言一、树形结构是什么?二、实现方案1、stream流递归实现1.1 实体类1.2 实现类2、jdk1.7以下实现2.1 节点类2.2 实现类3、应用场景3.1 用于前端方便展示...
    99+
    2023-05-17
    Java遍历树形结构 java递归详解 java树形数据结构
  • Oracle递归查询树形数据实例代码
    目录概述1、数据准备2 start with connect by prior递归查询2.1 查询所有子节点2.2 查询所有父节点2.3 查询指定节点的根节点2.4 查询下行政组织递归路径3 with递归查询3.1 wi...
    99+
    2022-11-09
  • 怎么在Oracle中实现递归树形结构查询功能
    这篇文章给大家介绍怎么在Oracle中实现递归树形结构查询功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中...
    99+
    2022-10-18
  • Java递归实现树形结构的方式有哪些
    这篇文章主要介绍“Java递归实现树形结构的方式有哪些”,在日常操作中,相信很多人在Java递归实现树形结构的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java递归实现树形结构的方式有哪些”的疑...
    99+
    2023-07-04
  • 详解Java递归实现树形结构的两种方式
    目录0、引言1、数据准备2、类型转化3、递归实现方法3.1、Java7及以下纯Java递归实现3.2、Java8及以上借助lamda表达式实现0、引言 在开发的过程中,很多业务场景需...
    99+
    2022-11-13
    Java递归实现树形结构 Java树形结构 Java递归
  • Java怎么用递归实现树形结构的工具类
    本文小编为大家详细介绍“Java怎么用递归实现树形结构的工具类”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么用递归实现树形结构的工具类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。需求描述有时候,我...
    99+
    2023-07-05
  • MyBatis实现两种查询树形数据的方法详解(嵌套结果集和递归查询)
    目录方法一:使用嵌套结果集实现1,准备工作2,实现代码方法二:使用递归查询实现    树形结构数据在开发中十分常见,比如:菜单数、组织树, 利用&nbs...
    99+
    2022-11-12
  • springboot构造树形结构数据并查询的方法
    因为项目需要,页面上需要树形结构的数据进行展示(类似下图这样),因此需要后端返回相应格式的数据。 不说废话,直接开干!!! 我这里用的是springboot+mybatis-pl...
    99+
    2022-11-12
  • 利用递归算法怎么将数据库解析成Java树形结构
    利用递归算法怎么将数据库解析成Java树形结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、准备表结构及对应的表数据a、表结构:create table T...
    99+
    2023-05-31
    java ava 递归算法
  • MySQL查询树形结构数据的两种方法
    目录1. 递归查询2. 闭包表对于mysql查询树形结构,可以使用递归查询或者闭包表来实现。以下是两种常用的方法: 1. 递归查询 使用递归查询可以遍历树形结构,获取父节点和子节点的关系。假设有一个名为 your_tab...
    99+
    2023-11-11
    MySQL查询树形数据 MySQL查询树形结构 MySQL树形结构查询
  • springboot构造树形结构数据并查询的方法是什么
    本篇内容主要讲解“springboot构造树形结构数据并查询的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot构造树形结构数据并查询的方法是什么”吧!因为项目需要,页...
    99+
    2023-06-25
  • JAVA使用hutool工具实现查询树结构数据(省市区)
    下面通过代码看下JAVA查询树结构数据(省市区)使用hutool工具实现 代码: @PostMapping("/getTree") public Object getTr...
    99+
    2022-11-12
  • Java数据结构之二叉查找树的实现
    目录定义节点结构查找算法插入算法删除算法完整代码定义 二叉查找树(亦称二叉搜索树、二叉排序树)是一棵二叉树,且各结点关键词互异,其中根序列按其关键词递增排列。 等价描述:二叉查找树中...
    99+
    2022-11-13
  • Java 数据结构中二叉树前中后序遍历非递归的具体实现详解
    目录一、前序遍历1.题目描述2.输入输出示例3.解题思路4.代码实现二、中序遍历1.题目描述2.输入输出示例3.解题思路4.代码实现三、后序遍历1.题目描述2.输入输出示例3.解题思...
    99+
    2022-11-12
  • 如何进行Java 数据结构中二叉树前中后序遍历非递归的具体实现
    本篇文章为大家展示了如何进行Java 数据结构中二叉树前中后序遍历非递归的具体实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前序遍历1.题目描述给你二叉树的根节点 root ,返回它节点值的...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作