springboot递归树结构

232 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

项目中会遇到菜单这种树结构,因此可使用以下代码。

    SysZzjgMapper dao;

    @Override
    public List<Map<String, Object>> findMapList(Map<String, Object> map) {
        List<Map<String, Object>> list;
        list=dao.findMapList(map1);//一层
        if(CollectionUtils.isNotEmpty(list)){
            for(Map<String, Object> xymap:list){
                getChildren(map,xymap);
            }
        }
        return list;
    }
    private void getChildren(Map<String, Object> map,Map<String, Object> xymap){
        String parentId=String.valueOf(xymap.get("id"));
        map.put("parentId", parentId);
        List<Map<String, Object>> zyList =dao.findMapList(map);//二层
        if(CollectionUtils.isNotEmpty(zyList)){
            for(Map<String, Object> zymap:zyList){
                this.getChildren(map,zymap);
            }
            xymap.put("children",zyList);
        }
    }