樹結構在開發中經常遇到。例如:部門、菜單、員工架構等等。下面用部門作為例子構造部門結構樹
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、部門樹結構
