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

写在前面

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

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

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

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

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

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

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

三、SQL实现方案

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

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

全部评论

相关推荐

09-27 18:15
门头沟学院 C++
在努力的小牛:来告诉你 录用评估挂就是同期好几个候选人,部门负责人选了其他人。
点赞 评论 收藏
分享
10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务