public List<Map<String, Object>> tree() {
//查询出所有的一级菜单[pid=0为一级菜单]
List<Menu> treeMenu = menuServiceImpl.selectByPid(0);
List<Map<String, Object>> list = new ArrayList<>();
if (treeMenu.size() > 0) {
for (Menu menu : treeMenu) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("id", menu.getId());
map.put("name", menu.getName());
map.put("children", getChildren(menu.getId()));
list.add(map);
}
}
return list;
}
/**
* 递归
*
* @param id
* @return
*/
public List<Object> getChildren(Integer id) {
List<Object> list = new ArrayList<>();
List<Menu> treeMenu = menuServiceImpl.selectByPid(id);
for (Menu menu : treeMenu) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("id", menu.getId());
map.put("name", menu.getName());
map.put("children", getChildren(menu.getId()));
list.add(map);
}
return list;
}
java递归查询树形菜单(递归中查询)
最新推荐文章于 2024-02-19 10:57:16 发布
这段代码展示了如何从数据库查询一级菜单,并通过递归方式获取所有子菜单,创建一个以Map<String,Object>表示的树形结构列表。每个Map包含菜单的ID、名称以及其子菜单。
4858

被折叠的 条评论
为什么被折叠?



