• Java递归查询某个节点下所有子节点多级信息(递归部门查询,递归树形结构数据查询)


    前言
    在做项目中我们会遇到树形结构数据,如果我们想要查询某个几点下面所有子节点(多级)数据,此时我们又不知道下面有多少级节点以及节点ID,那么我们就需要使用递归去查询了,当然在数据库中写函数也是可以实现的,下面我们使用Java来实现递归查询树形结构数据。

    Java代码实现:

    /**
    	 * 递归查询
    	 * @param ids
    	 * @return
    	 */
    	public List<FarmDepartment> queryAllDepartmentId(List<Long> ids){
    		//根据父ID查询部门
    		List<FarmDepartment> departments = farmDepartmentMapper.findDepartmentByParentIds(ids);
    		if (CollectionUtils.isNotEmpty(departments)) {
    			//拿到当前所有部门ID
    			List<Long> parentIds = departments.stream().map(item -> item.getId()).collect(Collectors.toList());
    			//拼接子部门查询结果
    			departments.addAll(queryAllDepartmentId(parentIds));
    			return departments;
    		} else {
    			//如果没有下级部门那么我们就返回空集合,结束递归。
    			return Lists.newArrayList();
    		}
    	}
    
  • 相关阅读:
    每日一题
    每日一题
    每日一题
    每日一题
    GitLab 部署
    Golang Web开发之Gin入门
    Golang消息队列之NSQ
    Golang操作Redis
    Golang操作MySQL
    Golang Json数据处理方法
  • 原文地址:https://www.cnblogs.com/javakfz/p/13938231.html
Copyright © 2020-2023  润新知