引言:

抖音真是一个神奇的软件,前两天脑海中浮现了一首歌,知道歌曲的调调,今天打算写博客之前刷了一下抖音,抖音的推荐算法居然给我推送了这首歌,这首歌叫做《一开始说陪你到老的人现在他还好吗》。接下来我会带着耳机把这篇文章写完,干货特别多,适用于所有系统直接可以复制粘贴使用。我一直坚信,经验是由一点一点积累的,思维也是由一天一天训练出来的。

1为什么写前后端递归树操作解决方案

从开始到现在,虽然java后台中,前台Html以及前端管理系统或多或少都用到过树形数据的数据结构,每次开发过程中还是不能快速进行开发,开发效率极低,所以写这篇java中的递归以及数据库无限层级树状数据结构的设计方案,方便以后在遇到这种开发功能,直接复制粘贴代码搞定,无论遇到任何业务系统看完这篇文章再也不用担心工作中遇到的无限层级树问题了。

2前端Vue无限层级树实现技术大纲

看文章之前,还是老样子,请先看下面这张技术大纲图,大概了解这里面涉及到的技术与流程,坚持按照大纲开完文章你的思路会更清晰。

3java无限递归层级树方案

3.1前端案例展示

大家应该逛过京东淘宝电商网站,包括我自己的购物网站如下图,这种手机、数码、电脑这种分类类目,在后台是有一个管理页面在管理这种层级树的数据。

本次以下面的案例图进行分析解答:

前端页面树状图一级未展开如图1

前端页面树状图展开一级如图2

前端页面树状图展开二级如图3

以此类推前端可以累计至无限级,那么对应后台数据库数据应该如何设计,后台到底如何设计呢?前端数据结构又是怎么样的呢?

3.2前端数据结构

3.3mysql数据库设计

最主要是Pid和shop_id字段设计,Pid为层级树形父节点的值,shop_id为业务数据Id。如下图

我们为这个表起一个闪亮的名字就叫做tb_tree_demo吧。

3.4后端树状接口业务领域模型DTO定义

定义一个业务领域模型javaBean名称为CommonDemoTree.java文件

3.5java后台业务Service逻辑代码

1.第一步根据系统业务进行查询tb_tree_demo表数据获取一个List<CommonDemoTree>数据的所有分类集合

2.进行递归算法筛选设置分类的下级类目数据设置

核心代码如下:

4有意义的一句话

技术不值钱,值钱的是思考问题的方式,上级分配给你开发任务,你不需要全部都会,你只需要学会分析问题,给出解决方案,其他的交给时间。任何技术天天学都不难,要是天天换技术学习就非常非常难。

Java中的无限层级递归树前后端操作解决方案相关推荐

  1. Java实现图片上传功能(前后端:vue+springBoot)

    Java实现图片上传功能(前后端:vue+springBoot) 前言: 前端: 组件引入 基础文件上传 自定义上传方法 后端: 需要引入的jar包: 基础文件上传 Controller层: serv ...

  2. Java中使用Jedis连接Redis对Hash进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  3. Java中使用Jedis连接Redis对Set进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  4. Java中使用Jedis连接Redis对List进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  5. Java中使用Jedis连接Redis对String进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  6. 在Java中实现SFTP协议文件传输的两种解决方案

    在Java中实现SFTP协议文件传输的两种解决方案 1.1 背景 1.2 关于 FTP /FTPS 1.3 关于SFTP 解决方案一:使用 JSch 库 解决方案二:使用sshj 库 这篇博文来聊聊在 ...

  7. Java中的迭代与递归

    递归 提到迭代,不得不提一个数学表达式: n!=n*(n-1)*(n-2)*...*1 有很多方法来计算阶乘.有一定数学基础的人都知道n!=n*(n-1)!因此,代码的实现可以直接写成: 代码一 in ...

  8. Java中的堆栈安全递归

    在本文中,摘自< Java中的函数式编程 >一书,我解释了如何使用递归,同时避免了StackOverflow异常的风险. Corecursion正在使用第一步的输出作为下一步的输入来构成计 ...

  9. Java接口long类型精度丢失,解决前后端交互Long类型精度丢失问题

    雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失 现象 雪花算法得到的ID较长,传到前端后,精度丢失 库中:23754851322302474 后端:2375 ...

最新文章

  1. matlab图形绘制基础(东北大学MOOC笔记)
  2. 领导者的本质——管理自己,影响别人!(深度好文)
  3. Hadoop伪分布式运行案例
  4. JVM_05 执行引擎(Execution Engine)
  5. android onclick执行顺序,错误“无法执行android:onClick的方法”
  6. 和硕裁员4.5万真相调查:工人入不敷出无奈走人
  7. 2020年房产经纪行业和购房市场洞察报告
  8. 一个简易的游戏代码_500 行代码写一个俄罗斯方块游戏
  9. cPanel附加域名出现Error from park wrapper: 使用带以下 IP 的命名服务器:
  10. cache 的设计与实现
  11. Atitit gui控件定位解决方案
  12. 银行转账系统(Spring小项目)
  13. 学小易电脑端——大学生搜题平台
  14. python3调用谷歌翻译_使用python3调用谷歌翻译成中文
  15. js 拉勾网效果_js仿拉勾网首页穿墙广告效果
  16. 小码哥java一期 百度云_小码哥IOS 十一期
  17. uni-app学习(四):带有下划线的标签选择
  18. 系统时钟的时钟源选择
  19. Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
  20. 常见步进电机驱动芯片

热门文章

  1. 计算机提示网络不可用,Windows电脑系统显示无线网络不可用怎么办?
  2. 稚晖君Holocubic
  3. 安科瑞消防应急照明和疏散指示系统在城市隧道的应用分析
  4. 那么网络课堂直播平台有哪些呢?怎么选?
  5. 破解通达信接口是违法的吗?一分钟为你科普
  6. STM32物联网智能鱼缸智能家居系统(程序+原理图+PCB+图文教程)
  7. mysql关于group by加count的优化
  8. 用报表说明PowerBI报表
  9. 1月VR大数据:Quest 2增长2.91%,HTC份额跌至10%以下
  10. 2020前端·程序员专属日历-1月17日