关于父子同表,树形结构数据操作,构建树,向上递归,向下递归

写在前面

对于父子同表的数据,数据是级联相关的,操作方式,主要有三个方案

  • 基于所有数据,平铺,操作
  • 构建树形结构数据,操作
  • SQL(Mysql/Oracle)
    具体使用,可基于不同业务需求,选择,平铺数据更直观,树形结构是抽象数据(表面上,似乎你永远也不知道某一结点下,向下递归会有多深…)

一、基于所有数据,平铺,操作

这里主要是,集合遍历操作(可借助 Java8 Stream API),这里的问题很明显,要不断sql查询,组装数据,不推荐…

二、构建树形结构数据,操作

这里操作方式,要难很多,涉及到

  • 树的构建(基于任意节点,或全量)
  • 当前节点,向下递归,取得所有子(或最深)
  • 当前节点,向上递归,取得所有父(或最顶级父)

三、SQL实现方案

可参考,MySQL部门或菜单父子节点递归实现树查询

这里用到了自定义函数或者存储过程,或者复杂SQl的实现

全部评论

相关推荐

01-14 16:23
广州商学院 Java
双非后端失败第N人:如果准备好了可以直接投字节,字节是最不看学历的,只要想面,大概率都能给你约面。
双非有机会进大厂吗
点赞 评论 收藏
分享
牛至超人:哈工大已经很棒了,不需要加括号了,然后咋没有实习经历呢?火速趁寒假整一段实习,导师不让就狠狠肘击
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务