美文网首页
数据处理-返回树形结构

数据处理-返回树形结构

作者: 一意求之 | 来源:发表于2019-10-11 15:30 被阅读0次

相关业务:多级菜单、地区树、资源树等

实现原理:构建出业务相关的树对象,将数据库查询出的业务数据组装成树对象列表,最后再将树对象列表通过递归算法格式化返回树形结构数据。

核心:递归算法格式化树对象列表数据

这里树对象类型是ResourceTreeDto,若要编写公共方法可以写成泛型。

实现步骤

以返回所有地区及地区下设备接口为例(数据库:设备表与地区表以areaId相关联):

1.构建业务相关的树对象- 资源树ResourceTreeDto。

2.dao层返回ResourceTreeDto对象列表数据类型的业务数据, sql查询返回类型为ResourceTreeDto。

为了使查询出的业务数据列表格式化成功,且保证设备出现在对应所属地区下,所有获取设备树对象列表时,树中parentId为设备表中的areaId,树中areaId可以随意对应设备表中非areaId的任意字段。

<resultMap id="ResourceDevice" type="test.dto.ResourceTreeDto">

    <result column="parentId" jdbcType="VARCHAR" property="parentId" />

    <result column="areaId" jdbcType="VARCHAR" property="areaId" />

    <result column="areaName" jdbcType="VARCHAR" property="areaName" />

    <result column="device_id" jdbcType="VARCHAR" property="deviceId" />

</resultMap>

3.service层组装业务数据(可根据业务要求组装多个),调用树形格式化方法返回树形数据。

相关文章

  • 数据处理-返回树形结构

    相关业务:多级菜单、地区树、资源树等 实现原理:构建出业务相关的树对象,将数据库查询出的业务数据组装成树对象列表,...

  • json杂记

    18.7.221、返回属性结构,只要构建真正的树形结构,然后返回即可。@responseBody会将各种数据结构按...

  • 树形结构数据处理,反向控制树形结构状态

    遇到这样的情况,一侧是树形结构,另一侧是选中的数据,当点击另一侧选中数据的删除按钮时候,不仅要删除数据,还要将一侧...

  • vue 菜单路由权限

    实现思路 通过一个 uid 请求后端路由权限接口 后端返回对应的路由权限给前端 json 转树形结构 树形结构数据...

  • vue树形组件实现思路

    效果图如下: 父组件调用树形组件代码: 父组件要做的主要步骤: 引入树形组件 父组件获取的数据结构如下,把数据处理...

  • MySQL创建函数

    应用场景:某些使用场景中,省市区等联动树结构,输入最后一级返回其树形结构整体得场景 MYSQL 存储树形结构的一种...

  • js 数组与树形结构对象相互转换

    数组 树形结构对象 数组转成树形结构 树形结构转成数组

  • 【恋上数据结构与算法一】(六)二叉树

    二叉树 线性结构 树形结构 二叉树 多叉树 生活中的树形结构 ◼ 使用树形结构可以大大提高效率◼ 树形结构是算法面...

  • JavaScript | Array转Tree

    需求 从后端接口获取数据,将List集合以Json形式返回,返回数据形如下所示,现为了前端以树形结构展示,需...

  • 平级数据转换为树形结构

    /** *该方法用于将有父子关系的数组转换成树形结构的数组 *接收一个具有父子关系的数组作为参数 *返回一个树形结...

网友评论

      本文标题:数据处理-返回树形结构

      本文链接:https://www.haomeiwen.com/subject/xeitmctx.html