Fork me on GitHub

实现树结构

数据表结构如下:  

  目标:把数据表的数据查询出来,并且通过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; } @Test public void testTree(){ JSONObject object = JSONObject.fromObject(getTree(1)); System.out.println(object.toString()); }

 

posted @ 2014-10-15 23:32  BeCoded  Views(161)  Comments(0)    收藏  举报