SSM框架完成单表数据树形菜单实现
任务背景:
- 最近在搭建基于SSM种子项目框架时,遇到了树形菜单加载问题。特此把解决的问题方案记录下去,供其他小伙伴参考和日后回顾。
方案分析
- 方案选择
- 一次性加载完,返回前台需要的数据结构
- 点击加载,默认记载根层级的菜单。后续点击那一级菜单加载其下的子节点
- 对节点进行查询,删除,修改,增加
- 方案实现
- 在这里只分析一次性加载实现
- 对节点进行查询,删除,修改,增加
具体实现
- 表、数据资料
-
数据库
-
设置主键Id和parent_id的级联关
直接撸起代码干起:
-
实体类
/** * 编号 */ private Long id; /** * 名称 */ private String name; /** * 父级Id */ private Long parentId; /** * 子节点集合 */ List<Node> chilidren; public Node() { } public Node(Long id, String name, Long parentId, List<Node> chilidren) { this.id = id; this.name = name; this.parentId = parentId; this.chilidren = chilidren; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } publ