问题引入
我们把单位表的信息根据上下级转化为树形结构输出展示,应该是很常见的,我们可以写递归自己去查,今天我们介绍的是使用Hutool的工具类TreeUtil来实现,只能说是十分之方便快捷简单。
具体操作
引入依赖
1 2 3 4 5
| <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.6</version> </dependency>
|
根据业务查出List
1 2
| List<DeptEntity> deptList = deptMapper.getDeptList();
|
List转树形结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
treeNodeConfig.setIdKey("id"); treeNodeConfig.setNameKey("name");
treeNodeConfig.setParentIdKey("parent");
treeNodeConfig.setWeightKey("order");
treeNodeConfig.setDeep(5);
String rootId = "0"
List<Tree<String>> treeNodes = TreeUtil.build(deptList , rootId, treeNodeConfig, (treeNode, tree) -> { tree.setId(treeNode.getId()); tree.setParentId(treeNode.getParent()); tree.setWeight(treeNode.getOrder()); tree.setName(treeNode.getName());
tree.putExtra("people", treeNode.getPeople()); } );
return treeNodes;
|
这样就得到一个树形的组织机构树了,只要配置类和不同的数据库做对应即可。
版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/
看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]
加油!
共同努力!
Keafmd