java多级查询treeList展示代码

 

 

 

 

 

  @Override
    public List<MenuNode> treeList() {
        List<Menu> menuList = menuMapper.selectList(null);
        List<MenuNode> menuNodeList = menuList.stream().filter(menu -> menu.getParentId().equals(0))
                .map(menu -> getMenuNodeObj(menu,menuList)).collect(Collectors.toList());
        return menuNodeList;
    }

    private MenuNode getMenuNodeObj(Menu menu, List<Menu> menuList) {
        MenuNode menuNode = new MenuNode();
        BeanUtils.copyProperties(menu,menuNode);
        List<MenuNode> nodeList = menuList.stream().filter(menu1 -> menu1.getParentId().equals(menu.getId()))
                .map(menu1 -> getMenuNodeObj(menu1, menuList)).collect(Collectors.toList());
        menuNode.setChildren(nodeList);
        return menuNode;
    }

 

posted @ 2021-10-26 16:42  keyboard达人  阅读(341)  评论(0编辑  收藏  举报