处理mysql返回ztree数据格式问题

来源:互联网 发布:淘宝内存怎么清理缓存 编辑:程序博客网 时间:2024/06/04 17:54
<TreeListUtil.java>package com.*.utils;import com.jetair.domin.Emp;import org.apache.commons.lang.ObjectUtils;import java.util.ArrayList;import java.util.List;public class TreeListUtil {    private static List<Emp> newList;      //treeList    public TreeListUtil(){        newList = new ArrayList<Emp>();    }    /**     * 向新list中装入根节点并递归子节点     */    public List<Emp> setRootNode(List treeList){        List<Emp> rootNode = getRootNode(treeList);    //获得根节点        for (int i = 0 ; i < rootNode.size() ; i++) {            newList.add(rootNode.get(i));   //存入所有根节点            sortNode(rootNode.get(i) , treeList);        }        return newList;    }    /**     * 获得根节点     */    private List<Emp> getRootNode(List treeList){        List<Emp> rootList = new ArrayList<Emp>();    //构造返回list        for (int i = 0 ; i < treeList.size() ; i++) {      //循环读取pid等于0的根节点            if((Integer)((Emp)treeList.get(i)).getMgr() == 0){                rootList.add((Emp)treeList.get(i));    //放入list中            }        }        return rootList;    //返回list    }    /**     * 递归子节点     * @param rootNode  各个根节点     * @param treeList  存放所有节点的list     * @return childList     */    private List<Emp> sortNode(Emp rootNode , List treeList){        List<Emp> rightList = new ArrayList<Emp>();        List<Emp> childList = getChild(rootNode,treeList);     //获得根节点的子节点        if(childList!=null){            for (int i = 0 ; i < childList.size() ; i++){                newList.add(childList.get(i));                sortNode(childList.get(i) , treeList);       //把查出来的子节点当做父节点递归查询            }        }        return childList;    }    /**     * 获得根节点的子节点     * @param treeNode 各个根节点     * @param treeList 存放所有节点的list     * @return childList     */    private List<Emp> getChild(Emp treeNode , List treeList){        List<Emp> childList = new ArrayList<Emp>();   //构建返回list        for (int i = 0 ; i < treeList.size() ; i++) {            if(treeNode.getEmpno() == ((Emp)treeList.get(i)).getMgr()){  //查询保存根节点的子节点                childList.add((Emp)treeList.get(i));            }        }        return childList;   //返回list    }}

<Emp.java>package com.*.domin;import java.util.Date;import java.util.List;public class Emp {    private int empno;    private String ename;    private String job;    private int mgr;    private Date hiredate;    private int sal;    private int comm;    private int deptno;    private String level;        public String getLevel() {        return level;    }    public void setLevel(String level) {        this.level = level;    }    public int getEmpno() {        return empno;    }    public void setEmpno(int empno) {        this.empno = empno;    }    public String getEname() {        return ename;    }    public void setEname(String ename) {        this.ename = ename;    }    public String getJob() {        return job;    }    public void setJob(String job) {        this.job = job;    }    public int getMgr() {        return mgr;    }    public void setMgr(int mgr) {        this.mgr = mgr;    }    public Date getHiredate() {        return hiredate;    }    public void setHiredate(Date hiredate) {        this.hiredate = hiredate;    }    public int getSal() {        return sal;    }    public void setSal(int sal) {        this.sal = sal;    }    public int getComm() {        return comm;    }    public void setComm(int comm) {        this.comm = comm;    }    public int getDeptno() {        return deptno;    }    public void setDeptno(int deptno) {        this.deptno = deptno;    }}

<EmpMapper.xml><resultMap id="treeListMap" type="com.jetair.domin.Emp"><id column="EMPNO" property="empno"/><result column="ENAME" property="ename"/><result column="JOB" property="job"/><result column="MGR" property="mgr"/><result column="HIREDATE" property="hiredate"/><result column="SAL" property="sal"/><result column="COMM" property="comm"/><result column="DEPTNO" property="deptno"/><result column="LEVEL" property="level"/></resultMap><select id="getTreeList" resultMap="treeListMap">  SELECT*      FROM    emp</select>

<getTree.js>//初始化ztree控件$(function () {    $.fn.zTree.init($("#tree"), setting);});var setting={    async: {        enable: true,        type:'post',        url:"http://localhost:8080/handle/getTreeList.do",        dataType : "json"    },    data: {        key : {            name : "ename"        },        simpleData : {   //简单的数据源            enable : true,            idKey : "empno",  // 树的结构信息            pIdKey : "mgr",            rootPId : 0  , //根节点        }    },    callback: {        onClick: zTreeOnClick    },    view:{        showIcon: false,        showLine: true    }};

0 0
原创粉丝点击