GirlsBoy
回首向来萧瑟处,归去,也无风雨也无晴。
posts - 36,comments - 1,views - 12万

# TreeHelp 无限下钻树生成及查询
===============

## 安装环境

>+ jdk版本:1.8+
>+ mybatis plus:3.4.1
>+ fastjson:1.2.75
>+ 其他具体依赖包见pom.xml


### 结构说明
~~~
1. 包demo为测试代码,主要演示树节点生成及树列表查询的工具类使用方式
2. 包treehelp为树生成及查询工具类包,demo包下的操作均基于此包完成,为通用实现
3. TreeNodeVo用于数据展示的VO,TreeEntity为用于数据库操作的实体,demo中具体数据库表所用到的VO和ENTITY均分别继承这两个文件
4. 接口TreeCodeGenerate默认实现可查询和生成TREE_CODE、TREE_LEVEL、SORT这三个字段的方法,为泛型类,demo包的数据库表对应的Mapper继承这个类
5. GenerateTreeUtil提供将查询列表转为父子结构树的方法和生成TREE_CODE的实现
~~~

### GenerateTreeUtil类说明
1.getNextCode
/**
* @author: wc
* @description: 方法说明:
* 1、根节点生成
* 1) 库中没有任何节点 传参 code = null,生成第一个节点A01
* 2、子节点生成
* 1) getNextCode(code,2); code为父节点 如传入A01 生成A01A01
* 3、同级下一个节点生成
* 1) getNextCode(code,2,false); code 为同级最大节点 如A10 生成A11
* @param: code 初始code
* @param: numPlaceHolder 数字占位位数【父子之间的占位位数需相同,否则生成错误】
* @return: java.lang.String
*/
2.generateTree
/**
* @author: wc
* @description: 根据所传入的参数生成树型结构 使用方式:
* 一、所需生成树的vo extends TreeNodeVo (key、value、title、pid均需按实际情况设置)
* 二、传入树根节点和所需拼到树根下的节点list
* @param: rootList 树根节点
* @param: childrenList 树孩子节点
* @param: isExpanded 是否展开
* @return: java.util.List<TreeNodeVo> 返回树结构列表
*/


### 功能介绍
### 1.1 树生成
#### 树生成包括树结构生成节点添加方法 关键在于生成TREE_CODE、TREE_LEVEL、SORT,三个字段配合使用可增加查询子节点的效率
##### 节点字段说明见下
+ 生成树的TREE_CODE,生成节点的TREE_LEVEL表示此根级别,SORT 表示生成树的本级别内的排序
+ TREE_CODE TREE_LEVEL SORT
+ A01 1 1
+ --A0101 2 1
+ --A0102 2 2
+ A02 1 2
+ --A0201 2 1
+ --A0202 2 2
+ --A020201 3 1
+ ... ... ...
调用generateCode只要传参正确便可生成此结构的内容


### 版本
+ V1.0 更新时间:2021-06-20

### 版本库:
+ Git获取:https://github.com/wangcongisqian/treeHelps.git

### 个人博客:
博客园:https://www.cnblogs.com/ladyM/
CSDN:https://blog.csdn.net/u013247068?spm=1001.2100.3001.5343
<br>

免费使用


###
1.0版本属于初级版本,只做了基础功能,由于本人能力有限,在实现中不合理的地方欢迎大神批评指正,同时在方法使用过程中有任何问题原因交流学习

posted on   GirlsBoy  阅读(110)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

java\web应用开发&研究

梦想程序改变生活

成为一个了不起的人

点击右上角即可分享
微信分享提示