利用递归算法怎么将数据库解析成Java树形结构

  介绍

利用递归算法怎么将数据库解析成Java树形结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

,表结构:

 TB_TREE创建表
  (
  CID编号不是零,
  CNAME VARCHAR2 (50),
  PID数字//父节点
  )

b表数据:

插入tb_tree (CID, CNAME, PID)值(1 & # 39;中国& # 39;,0);
  插入tb_tree (CID, CNAME, PID)值(2 & # 39;北京市& # 39;,1);
  插入tb_tree (CID, CNAME, PID)值(3 & # 39;广东省& # 39;,1);
  插入tb_tree (CID, CNAME, PID)值(4日& # 39;上海市& # 39;,1);
  插入tb_tree (CID, CNAME, PID)值(5 & # 39;广州市& # 39;(3);
  插入tb_tree (CID, CNAME, PID)值(6 & # 39;深圳市& # 39;(3);
  插入tb_tree (CID, CNAME, PID)值(7 & # 39;海珠区& # 39;(5);
  插入tb_tree (CID, CNAME, PID)值(8 & # 39;天河区& # 39;(5);
  插入tb_tree (CID, CNAME, PID)值(9日& # 39;福田区& # 39;(6);
  插入tb_tree (CID, CNAME, PID)值(10日& # 39;南山区& # 39;(6);
  插入tb_tree (CID, CNAME, PID)值(11日& # 39;密云县& # 39;(2);
  插入tb_tree (CID, CNAME, PID)值(12日& # 39;浦东& # 39;(4),

公共类TreeNodeTest {
  @Test
  公共空间loadTree()抛出异常{
  System.out.println (JsonUtils.javaToJson (recursiveTree (1)));
  }/* *
  *递归算法解析成树形结构
  *
  * @param cid
  * @return
  * @author jiqinlin
  */公共TreeNode recursiveTree (int cid) {//根据cid获取节点对象(SELECT *从tb_tree t t.cid=, # 63;)
  TreeNode节点=personService.getreeNode (cid);//查询cid下的所有子节点(从tb_tree t t.pid=选择*,# 63;)
  列表childTreeNodes=personService.queryTreeNode (cid);//遍历子节点
  (TreeNode孩子:childTreeNodes) {
  TreeNode n=recursiveTree (child.getCid ());//递归
  node.getNodes阀门()(n);
  }
  返回节点;
  }
  }

输出的json格式如下:

{   “cid": 1、   “nodes":(   {   “cid": 2   “nodes":(   {   “cid": 11,   “nodes":(   ),   “cname":“密云县“,   “pid": 2   }   ),   “cname":“北京市“,   “pid": 1   },   {   “cid": 3,   “nodes":(   {   “cid": 5   “nodes":(   {   “cid": 7,   “nodes":(   ),   “cname":“海珠区“,   “pid": 5   },   {   “cid": 8   “nodes":(   ),   “cname":“天河区“,   “pid": 5   }   ),   “cname":“广州市“,   “pid": 3   },   {   “cid": 6,   “nodes":(   {   “cid": 9,   “nodes":(   ),   “cname":“福田区“,   “pid": 6   },   {   “cid": 10,   “nodes":(   ),   “cname":“南山区“,   “pid": 6   }   ),   “cname":“深圳市“,   “pid": 3   }   ),   “cname":“广东省“,   “pid": 1   },   {   “cid": 4   “nodes":(   {   “cid": 12,   “nodes":(   ),   “cname":“浦东“,   “pid": 4   }   ),   “cname":“上海市“,   “pid": 1   }   ),   “cname":“中国“,   “pid": 0   }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

利用递归算法怎么将数据库解析成Java树形结构