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();
		}
	}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM