在java开发中,我们肯定会遇到树形结构构建,当然网上的树形结构treeUtil工具很多,但是为了扩展性,大都采用大量的泛型或者一些其他结构,初学者可能不太能够理解并应用,这里介绍两种简单且快速构建树的方法。(仅供初学者参考,大佬请忽略)
方法一:利用hutool工具包
一、引入依赖
Maven
在项目的pom.xml的dependencies中加入以下内容:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.26</version>
</dependency>
#Gradle
implementation 'cn.hutool:hutool-all:5.8.26'
二、具体使用
介绍
考虑到菜单等需求的普遍性,有用户提交了一个扩展性极好的树状结构实现。这种树状结构可以根据配置文件灵活的定义节点之间的关系,也能很好的兼容关系数据库中数据。实现
关系型数据库数据 <-> Tree <-> JSON
树状结构中最大的问题就是关系问题,在数据库中,每条数据通过某个字段关联自己的父节点,每个业务中这个字段的名字都不同,如何解决这个问题呢?
PR的提供者提供了一种解决思路:自定义字段名,节点不再是一个bean,而是一个map,实现灵活的字段名定义。
#使用
#定义结构
我们假设要构建一个菜单,可以实现系统管理和店铺管理,菜单的样子如下:
系统管理
|- 用户管理
|- 添加用户
店铺管理
|- 商品管理
|- 添加商品
那这种结构如何保存在数据库中呢?一般是这样的: