JAVA代码实现多级树结构封装对象

树结构在开发中经常遇到。例如:部门、菜单、员工架构等等。下面用部门作为例子构造部门结构树

1、部门表:dept

-- ----------------------------
-- Table structure for dept
-- ----------------------------
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
  `id` varchar(36) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `parent_id` varchar(36) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、实体类:Dept

public class Dept implements Serializable {
    private static final long serialVersionUID = -2809004220612317111L;
    //ID
    private String id;
    //部门名称
    private String name;
    //父ID
    private String parentId;
    
    //get/set方法省略
}

 3、树结构实体类:DeptTree 【树结构实体类构造根据需求构造。例如:很多时候Dept实体对象加上List<Dept> children表示子部门】

/**
 * 部门树
 */
public class DeptTree {
    //父部门
    private Dept dept;
    //子部门
    private List<DeptTree> children;
    
    //get/set方法省略
}

4、部门树结构

原文地址:https://www.cnblogs.com/chenweichu/p/10041198.html