利用注解将数据转为树结构

利用注解生成树结构

ListToTree注解

背景介绍:

通常,我们都有需要将一个列表List,转为树的结构

或许我们或多或少都写过工具类如:

截图

截图

或者:

截图

截图

截图

以上写法,或多或少,都需要我们对集合进行一些处理,写多了自然就变得繁琐,甚至有业务相关的时候,修改会变动麻烦

并且功能比较单一,局限

为此设计实现了基于切面+注解的方式,将List转为树,除了配置为,不需要写额外的任何代码

截图

使用案例

截图

截图

截图

功能解释

实现原理:核心是 使用TreeUtil.build(list,rootId,config,())

  1. 根据需要,设计了可根据页面参数,动态调整rootId等字段

    通过url传递参数(rootValueFromParams)可达到动态获取rootId的子数据(children,注意:不包含自己),同时可根据includeSelf=1/true,来包含自身

  2. 同时在转为树的时候,可根据other=true,或者otherValue[]来 设置除了id,parentId,lable之外的字段,other=true,则全部字段,否则按照othervalue的数组来

  3. 可设置startField,来实现处理类中的某个字段(List类型),只处理该字段,如下图,只会将nodes的数据转为树

     ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=0f82e7d7cbffec2e2d341dd0b2fb5a7a.png&pos_id=img-elPgjMIh-1725260834876)
    
  4. 可设置depth来设置转为树的时候,截取树的深度,如为1,则只有一层,2为2层,同样可以通过url参数动态修改

    如:截图

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值