好久没有更新博客了,前段时间也是一直忙的房子的事情和换工作的事情,也是忙的不亦乐乎。好在现在一切都理顺了,好了,回归到正题,回归到今天的主题。利用递归实现组织机构显示。因为此业务场景非常普遍,如组织机构,多级菜单,反正是涉及到树形结构的业务场景不胜枚举。所以,自己把这核心的代码和思路共享出来,供其他小伙伴和自己共同去学习。
基础环境 :springboot+mybatis、mysql
测试环境: Navicat、postman。
关于如何构建springboot+mybatis网上的资料很多,我在之前的博客也写过,在这里不在赘述。我们直奔主题。
一、数据表设计
在这里我需要说明一下,在看一些开源项目的时候,先不要直接去一头栽到代码里去,那样通常会是雾里探花,研究一番,就把自己搞成了丈二和尚了,所以我一般是会先去看数据表,从业务入手,下一步就去看POM文件 。
我在数据库里面建立了dept(部门表),为了测试方便,我在这里只建了五个字段 。
org_id (部门id) org_name (部门名称) parent_id (父id)sort(排序) create_date(创建时间)
二、由于此业务简单,所以我们就不看pom文件了,也无非就是spring-boot核心包,mysql、mybatis核心包。我们之间看业务。
建立和数据表对应的实体 。
package com.zed.zd.pojo.dept; import java.util.List; /** * @author: shenaiguo * @Date: * @Description: */ public class Dept { private int orgId; private String orgName; private int parentId; private int sort; private List<Dept> children; public List<Dept> getChildren() { return children; } public void setChildren(List<Dept> children) { this.children = children; } public int getOrgId() { return orgId; } public void setOrgId(int orgId) { this.or