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