1、数据都是在有一张表中
2、代码实现
@Override
public List<Map<String, Object>> getxxXxx() {
//查出所有的数据
List<Map<String, Object>> allMenu = XXX.xxx();
//根节点
List<Map<String, Object>> rootMenu = new ArrayList<Map<String, Object>>();
for (Map<String, Object> nav : allMenu) {
String parentId = String.valueOf(nav.get("PARENT_CODE"));
if(parentId.equals(~~"null"~~ )){//父节点不存在的,为根节点。
rootMenu.add(nav);
}
}
//为根菜单设置子菜单,getClild是递归调用的
for (Map<String, Object> nav : rootMenu) {
/* 获取根节点下的所有子节点 使用getChild方法*/
String id = String.valueOf(nav.get(~~"PARM_CODE")~~ );
List<Map<String, Object>> childList = getChild(id, allMenu);
nav.put("child", childList);
}