首页 > 代码库 > 实现树结构

实现树结构

数据表结构如下:  

  目标:把数据表的数据查询出来,并且通过JSON以一棵树的形式呈现

 

所用到的jar包:

 

对应的JAVA模型:

package com.lzj.www.model;import java.util.ArrayList;import java.util.List;public class Node {	private Integer cid;	private String name;	private Integer pid;	//用于存放它的子节点	private List<Node> node = new ArrayList<>();			//getter、setter方法}

 

实现:

private Node getTree(Integer cid){
//dao: sql="select * from tree where cid = ?" :找到cid的对应节点       Node node = daoTest.getOwn(cid);
//dao: sql="select * from tree where pid = ?" :找到cid对应节点的子节点   //这里要防止空指针异常,因此在dao层创建一个List<Node>的时候就该指定地址
List<Node> cList = daoTest.getChild(cid); for(Node n : cList){
//用递归实现树 Node cNode = getTree(n.getCid()); node.getNode().add(cNode); } return node;} @Testpublic void testTree(){ JSONObject object = JSONObject.fromObject(getTree(1)); System.out.println(object.toString());}

 

实现树结构