栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-09-03(java最简单的递归树,单表树查询)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-03(java最简单的递归树,单表树查询)

使用递归查询树
 private List findTree(Long pid, List jgList) {
        List treeNodes = new ArrayList<>();
        for (JgCategory category : jgList) {
            //如果夫级null 就从夫级开始遍历
            if (pid == null && 0L == category.getParentId()) {
                this.treeNod(jgCategoryList, treeNodes, category);
                continue;
            }
            if (pid != null) {
                if (pid.equals(category.getParentId())) {
                    this.treeNod(jgCategoryList, treeNodes, category);
                }
            }
        }
        return treeNodes;
    }

    
    private void treeNod(List jgList, List treeNodes, JgCategory category) {
        JgCategoryTreeResponse node = new JgCategoryTreeResponse();
        node.setSearchCode(category.getSearchCode());
        node.setCode(category.getCode());
        node.setName(category.getName());
        treeNodes.add(node);
        node.setChildList(findTree(category.getId(), jgCategoryList));
    }

组装格式
@Data
public class JgTreeResponse {

    @ApiModelProperty("节点ID")
    private Long id;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("编码")
    private String code;

    @ApiModelProperty("搜索码")
    private String searchCode;

    @ApiModelProperty("父节点ID")
    private Long parentId;

    @ApiModelProperty("子级集合")
    private List childList;
}

返给前端就可以

   public Result> selectTree(long userId) {
        //查询全部并返回一个list
        super.select(new Jg());
        //调用递归方法
        List tree = this.findTree(null, jgCategoryList);
        return Result.success(tree);
    }


总结

简单干活,如果不懂你就多看看,debug看看树的运行调用逻辑

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459561.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号