实体类ICBmEvaluation:
public class ICBmEvaluation extends BaseEntity {
@NotBlank(message = "政策指标标题ID不能为空")
private String titleId;
@NotBlank(message = "政策指标标题名称不能为空")
private String titleName;
@NotBlank(message = "父id不能为空")
private String parentId;
private List childList;
}
包含 :父id与孩子集合
service层:
@Override
public List selectBmEvaluationTree() throws Exception {
//一级标题
getUser();
logger.info("开始查询树形");
List data = icBmEvaluationMapper.queryBmEvaluation();
List oneList = new ArrayList<>();
//获得一级标题
for (ICBmEvaluation icBmEvaluation : data){
if (icBmEvaluation.getParentId().equals("0")){
oneList.add(icBmEvaluation);
}
}
//设置子菜单
for (ICBmEvaluation icBmEvaluation : oneList){
icBmEvaluation.setChildList(getChild(icBmEvaluation.getTitleId(),data));
}
return oneList;
}
其中的getcChild的方法递归查询子集菜单
public List getChild(String titleId, List rootList){
//子集
List childList =new ArrayList<>();
for (ICBmEvaluation icBmEvaluation : rootList){
//遍历节点,与传过来的父id对比
if(icBmEvaluation.getParentId().equals(titleId)){
childList.add(icBmEvaluation);
}
}
//递归退出
if (childList.size() == 0){
return null;
}
//把子集的子集再循环一遍
for (ICBmEvaluation icBmEvaluation : childList){
icBmEvaluation.setChildList(getChild(icBmEvaluation.getTitleId(),rootList));
}
return childList;
}



