Java工作需求后端代码--实现树形结构

加油,新时代打工人!

前端页面
带树形结构的表格

最近在新项目上加班加点,下面是个实现树形结构的数据表格。
需求:
在前端页面表格中展示成树形结构的数据。
技术:
后端:Java、Mybatis-Plus、HuTool树形的工具类、Mysql
前端:Element UI
表结构

categoriyid	int(11)	NO	PRI		auto_increment
categoriycode	int(10)	YES	UNI		
categoriyname	varchar(50)	YES			
categoriyitemid	int(11)	YES			
status	int(2)	YES		0	
createtime	timestamp	YES		CURRENT_TIMESTAMP	DEFAULT_GENERATED
updatetime	timestamp	YES		CURRENT_TIMESTAMP	DEFAULT_GENERATED

在这里插入图片描述
HuTool工具类Jar

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version>
</dependency>

Java实现类代码,用的Mybatis-plus,sql语句都省了

    @Autowiredprivate CategoriyDao categoriyDao;@Overridepublic List<Tree<Object>> getCategoriyList(CategoriyListVo categoriyListVo) {//1.没有条件查询所有的,可以根据自己的需求,加上查询条件,如查询状态已启用的QueryWrapper<CategoriyListVo> queryWrapper = new QueryWrapper<>();List<CategoriyListVo> dataList  = categoriyDao.selectList(queryWrapper);//2.配置TreeNodeConfig config = new TreeNodeConfig();config.setIdKey("id");      //默认id,可以不设置config.setParentIdKey("categoriyitemid");    //父idconfig.setNameKey("categoriyname");   //分类名称config.setDeep(2);      //最大递归深度config.setChildrenKey("children"); //孩子节点//3.转树List<Tree<Object>> treeList = TreeUtil.build(dataList, "0", config, ((object, treeNode) -> {treeNode.setId( object.getCategoriyid().toString());treeNode.setParentId(object.getCategoriyitemid().toString());treeNode.setName(object.getCategoriyname());//扩展字段treeNode.putExtra("categoriycode",object.getCategoriycode());//分类编码treeNode.putExtra("status",object.getStatus().toString());//状态}));return treeList;}

数据返回
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

etcd入门指南

目录 一.etcd的介绍和发展 1.什么是etcd 2.ecsd的发展历史 3.etcd特点 4.使用场景 5.关键字 6.工作原理 7.下载地址 二.将etcd部署到linux 1.etcd安装前介绍 2.安装etcd 1. 创建并切换到下载目录 ​编辑 2.下载或者解压 3切换至etcd根目录&#xff0c;运行查看命令l…

华为OD机试 - 服务器广播 - 矩阵(Java 2024 C卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷…

土地变化的“预言家”:DNDC模型在双碳背景下的应用探索

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…

定时执行专家V7.1 多国语言版本英文版发布 - TimingExecutor V7.1 English Version Release

目录 ◆ About TimingExecutor ◆ Main Frame ◆ Job Dailog ◆ Trigger Dialog ◆ Setting Dialog ◆ About Dialog ◆ Job Detail Information panel ◆ Statistics Information panel ◆ About TimingExecutor 《定时执行专家》是一款制作精良、功能强大、毫秒精度…

Spring Boot中实现图片上传功能的两种策略

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

vue页面刷新问题:返回之前打开的页面,走了create方法(解决)

vue页面刷新问题&#xff1a;返回之前打开的页面&#xff0c;走了create方法&#xff08;解决&#xff09; 直接上图&#xff0c; 我们在开发的时候经常会复制粘贴&#xff0c;导致vue文件的name没有及时修改 我们需要保证name和浏览器的地址一致&#xff0c;这样才能实现缓…

两天学会微服务网关Gateway-Gateway HelloWorld快速入门

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

智引未来:2024年科技革新引领工业界变革与机遇

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

[LeetCode][LCR184]设计自助结算系统——单调队列

题目 LCR 184. 设计自助结算系统 设计一个自助结账系统&#xff0c;该系统需要通过一个队列来模拟顾客通过购物车的结算过程&#xff0c;需要实现的功能有&#xff1a; get_max()&#xff1a;获取结算商品中的最高价格&#xff0c;如果队列为空&#xff0c;则返回 -1add(value…

上海亚商投顾:沪指冲高回落 旅游股尾盘逆市走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一市场情绪 沪指昨日冲高回落&#xff0c;深成指午后跌超1%&#xff0c;创业板指跌超2%&#xff0c;北证50指数跌逾3%。设备…

51-27 DirveVLM:自动驾驶与大型视觉语言模型的融合

本文由清华大学和理想汽车共同发布于2024年2月25日&#xff0c;论文名称DRIVEVLM: The Convergence of Autonomous Driving and Large Vision-Language Models. DriveVLM是一种新颖的自动驾驶系统&#xff0c;旨在针对场景理解挑战&#xff0c;利用最近的视觉语言模型VLM&…

spring启动时如何自定义日志实现

一、现象 最近在编写传统的springmvc项目时&#xff0c;遇到了一个问题&#xff1a;虽然在项目的web.xml中指定了log4j的日志启动监听器Log4jServletContextListener&#xff0c;且开启了日志写入文件&#xff0c;但是日志文件中只记录业务代码中我们声明了日志记录器的日志&a…

leetcode69---x 的平方根

大家好&#xff0c;我是大唐&#xff0c;刚刷完了几道经典的leetcode题&#xff0c;今天给大家分享一道leetcode上面的二分查找经典题型---x 的平方根&#xff0c;我们往下看。 题目描述 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&a…

《招聘 ERP 系统架构师指南:微服务、云计算与高负载下的挑战》

在服装行业&#xff0c;ERP系统的顺畅运行对企业至关重要。为了确保您招聘到一位能够应对微服务架构、公有云环境以及高负载挑战的卓越架构师&#xff0c;以下是一份详细的面试指南。 技术深度与系统架构 微服务架构&#xff1a; 问题&#xff1a;请详细解释微服务架构在您设计…

2021片段代码记录-智能感知

【if else美化】 // 前 if(newValue.length 0){this.btn_disable true } else{this.btn_disable false } // 后 this.btn_disable newValue.length 0【五层数据联动】冗余待改善 <template><!-- 数据展示页面 --><div class"container"><…

Ant Design Vue 修改Model弹框 样式不生效

今天在使用 Ant Design Vue 组件库中又踩了一个坑 其他的样式都可以更改&#xff0c;唯独更改 Model 弹框组件的样式一直不生效 于是研究了好久才找到样式不生效的原因 最后又折腾了好久&#xff0c;参考了不少资料才得出的解决方案&#xff1a;

Gin 获取请求参数

POST 请求参数 Gin 获取Post请求URL参数有三种方式 func (c *Context) PostForm(key string) string func (c *Context) DefaultPostForm(key, defaultValue string) string func (c *Context) GetPostForm(key string) (string, bool)大多数情况下使用的是application/x-www…

力扣刷题

文章目录 1. 双指针1.1 两数之和1.2 三数之和1.3 盛最多水的容器1.4 接雨水 2. 字串2.1 滑动窗口最大值 3. 动态规划4. 多维动态规划4.1 最长回文字串 1. 双指针 1.1 两数之和 思路&#xff1a;因为是有序数组&#xff0c; 1.2 三数之和 题目要求不能重复 思路&#xff1a;三…

力扣刷题Days12第二题--100相同的树(js)

目录 1,题目 2&#xff0c;代码 2.1深度优先遍历 2.2广度优先遍历 3&#xff0c;学习与总结 1,题目 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是…

vue element plus Form 表单

表单包含 输入框, 单选框, 下拉选择, 多选框 等用户输入的组件。 使用表单&#xff0c;您可以收集、验证和提交数据。 TIP Form 组件已经从 2. x 的 Float 布局升级为 Flex 布局。 典型表单# 最基础的表单包括各种输入表单项&#xff0c;比如input、select、radio、checkbo…