根据顶层的id递归查询出全部子节点

效果图

根据输入的id为2查询出所有的红色框起来的节点
在这里插入图片描述

mapper接口

TSystemOrg getOrgByorgId(String orgId);
List<TSystemOrg> getOrgListByParentId(String parentId);

mapper.xml

<!--根据id查询org-->
<select id="getOrgByorgId" resultType="com.iflytek.core.entity.TSystemOrg">
   SELECT
      *
   FROM
      t_system_org
   WHERE
      id=#{orgId}
   and
      is_delete = '0'
</select>

<!--根据parentId查询orgList-->
<select id="getOrgListByParentId" resultType="com.iflytek.core.entity.TSystemOrg">
   SELECT
      *
   FROM
      t_system_org
   WHERE
      parent_id=#{parentId}
   and
      is_delete = '0'
</select>

service接口

List<TSystemOrg> getOrgListByOrgId(String orgId);

serviceImpl实现

@Override
public List<TSystemOrg> getOrgListByOrgId(String orgId) {
    TSystemOrg org = mapper.getOrgByorgId(orgId);
    List<TSystemOrg> resultList = new ArrayList<>();
    resultList.add(org);
    diguiGetOrgListByParentId(org, resultList);
    return resultList;
}

private void diguiGetOrgListByParentId(TSystemOrg org, List<TSystemOrg> resultList) {
    List<TSystemOrg> orgList = mapper.getOrgListByParentId(org.getId());
    if(orgList != null){
        for(TSystemOrg o : orgList){
            resultList.add(o);
            //递归调用自己
            diguiGetOrgListByParentId(o,resultList);
        }
    }
}

controller

@ApiOperation(value = "根据orgId获取所有子节点",tags = "机构")
@PostMapping("getOrgListByOrgId")
public ResultDto getOrgListByOrgId(String orgId){
    return ResultUtil.success("success", service.getOrgListByOrgId(orgId));
}

相关推荐

  1. 记录一条查询子孙节点sql

    2024-05-04 16:28:02       19 阅读
  2. 树形结构根据节点ID查找所有父节点ID

    2024-05-04 16:28:02       17 阅读
  3. 通过文章id查询所有评论(xml)

    2024-05-04 16:28:02       18 阅读
  4. mysql 查询

    2024-05-04 16:28:02       41 阅读
  5. CTE和查询

    2024-05-04 16:28:02       36 阅读
  6. SQL高级:查询

    2024-05-04 16:28:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 16:28:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 16:28:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 16:28:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 16:28:02       18 阅读

热门阅读

  1. jQuery学习笔记

    2024-05-04 16:28:02       11 阅读
  2. 【华为OD机试】堆内存申请【C卷|100分】

    2024-05-04 16:28:02       10 阅读
  3. P1596 [USACO10OCT] Lake Counting S 题解

    2024-05-04 16:28:02       10 阅读
  4. 深入探索Element-UI:构建高效Web前端的利器

    2024-05-04 16:28:02       13 阅读
  5. 消费者——生产者

    2024-05-04 16:28:02       15 阅读