Java返回树形结构的数据 (children方式)
Posted IT_Holmes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java返回树形结构的数据 (children方式)相关的知识,希望对你有一定的参考价值。
以children这种方式的实体类来遍历子父级的树形结构。
//问题分类下拉表
@Override
public List<DA> selectDA(Long deptId,Long userId)
//根据deptId获取当前parentId --- 第一步就是:获取根节点。
DA current = sysDropDownListMapper.selectDA(deptId);
//以下是可以拿到子部门内容
DA root;
//如果parentId为0,说明是根目录了。不是0就查找它的上级作为目录。
if (current.getParentId()!=0)
root = sysDropDownListMapper.selectDA(current.getParentId());
else
root = current;
//因为不需要返回parentId,所以返回同级就可以了。
DA item = getItem(root);
List<DA> list = item.getChildren();
return list;
/**
* 采用递归方式来获取树
*/
private DA getItem(DA parentItem)
//查询所有parentId为该数据的data --- 第二步:就是循环遍历parentId为该数据的 data。
List<DA> items = sysDropDownListMapper.selectDAByParentId(parentItem.getDeptId());
if (items!=null)
parentItem.setChildren(items);
for (DA item : items)
getItem(item);
return parentItem;
对应实体类:
- 通过children这种方式来给前端显示子父级关系。
package com.ruoyi.system.domain;
import java.util.List;
public class DA
Long deptId;
String deptName;
Long parentId;
List<DA> children;
public Long getParentId()
return parentId;
public void setParentId(Long parentId)
this.parentId = parentId;
public Long getDeptId()
return deptId;
public void setDeptId(Long deptId)
this.deptId = deptId;
public String getDeptName()
return deptName;
public void setDeptName(String deptName)
this.deptName = deptName;
public List<DA> getChildren()
return children;
public void setChildren(List<DA> children)
this.children = children;
以上是关于Java返回树形结构的数据 (children方式)的主要内容,如果未能解决你的问题,请参考以下文章