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语句都省了

    @Autowired
	private CategoriyDao categoriyDao;
	@Override
	public 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");    //父id
		config.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;
	}

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

b站小土堆pytorch学习记录—— P18-P22 神经网络+小实战

文章目录 一、卷积层 P181.卷积操作2.代码 二、池化层 P191.池化层简单介绍2.代码&#xff08;1&#xff09;池化操作中数字的变化&#xff08;2&#xff09;池化操作对图片的影响 三、非线性激活 P201.简要介绍2.代码 四、线性层及其他层介绍 P211.线性层2.代码 五、搭建小实战…

docker安装和使用kafka

1. 启动zookeeper Kafka依赖zookeeper, 首先安装zookeeper -p&#xff1a;设置映射端口&#xff08;默认2181&#xff09; docker run --name zookeeper \--network app-tier \-e ALLOW_ANONYMOUS_LOGINyes \--restartalways \-d bitnami/zookeeper:latest2. 启动kafka docker…

实验七 综合实验

一&#xff0e; 下载并成功运行Anaconda,jupyter book ,spyder 输入检验(print (“hello”)) 二&#xff0e; 在jupyter prompt中安装库&#xff1a; 找到anaconda 的Scripts库&#xff0c;并复制路径以备后面安装命令 D:\Program Files\anaconda3\Scripts 进入prompt命令…

网络原理初识

一、IP地址 概念 IP 地址主要用于标识网络主机、其他网络设备&#xff08;如路由器&#xff09;的网络地址。简单说&#xff0c; IP 地址用于定位主机 的网络地址 。 就像我们发送快递一样&#xff0c;需要知道对方的收货地址&#xff0c;快递员才能将包裹送到目的地。 二、…

搭建的svn 1.14.1,拉取代码时候没输入账户密码就报错 auth failed

这边在ubuntu里面搭的svn server&#xff0c;但是拉代码的是否一直报错 auth faield&#xff0c;一开始以为是有auth cache&#xff0c;去设置里面清楚了&#xff0c;windows 里面也清楚了&#xff0c;但是还是报错 问题原因 一直排查才发现&#xff0c;我新增用户的时候&…

vue+uniapp实现图形验证码功能-插件(附源码)

一、需求背景 vueuniapp实现图形验证码功能-插件&#xff08;附源码&#xff09; 在登录系统时&#xff0c;除了密码登录&#xff0c;还需要提供验证码登录。 涉及验证码&#xff0c;为了安全&#xff0c;一般会加入图形验证码&#xff0c;然后再发短信验证码。 如图&#xff1…

为国产信创服务器提供LDAP统一身份认证方案

金融信创作为 8 大行业信创之首&#xff0c;早已成为其他行业信创建设的参考。金融行业有着极为复杂的业务场景&#xff0c;对系统有着极高的稳定可靠需求&#xff0c;因此&#xff0c;在寻找微软 AD 国产化替代方案时&#xff0c;常会涉及到更深层次的场景。例如&#xff0c;最…

计算机大数据毕业设计-基于Flask的旅游推荐可视化系统的设计与实现

基于Flask的旅游推荐可视化系统的设计与实现 编程语言&#xff1a;Python3.10 涉及技术&#xff1a;FlaskMySQL8.0Echarts 开发工具&#xff1a;PyCharm 摘要&#xff1a;以Pycharm为旅游推荐系统开发工具&#xff0c;采用B/S结构&#xff0c;使用Python语言开发旅游景点推…

电网数字孪生的开发框架

电网数字孪生的开发框架通常会综合利用多种技术和工具&#xff0c;包括数据处理、模型建立、仿真与优化等方面的工具和平台。以下是一些常用的开发框架&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

网络安全: Kali Linux 进行 SSH 渗透与防御

目录 一、实验 1.环境 2.nmap扫描目标主机 3.Kali Linux 进行 SSH 渗透 3.Kali Linux 进行 SSH 防御 二、问题 1.SSH有哪些安全配置 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统版本IP备注Kali Linux2022.4 192.168.204.154&#xff08;动态&…

【JavaScript 漫游】【031】window 对象总结

文章简介 本篇文章为【JavaScript 漫游】专栏的第 030 篇文章&#xff0c;记录了浏览器模型中 window 对象的相关知识点。 window 对象概述 浏览器里面&#xff0c;window 对象&#xff08;注意&#xff0c;w 为小写&#xff09;指当前的浏览器窗口。它也是当前页面的顶层对…

Java中线程操作的相关方法

当涉及到在Java中操作线程时&#xff0c;有许多内置的类和方法可供使用。下面是关于Java中线程操作的主要方法和技术的简要教程&#xff1a; 1. 创建线程 在Java中&#xff0c;有两种主要的方式来创建线程&#xff1a; - 继承 Thread 类并重写其 run() 方法。 - 实现 Runna…

深入探讨javascript的流程控制与分支结构,以及js的函数

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属的专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 1.流程控制与分支结构1.if分支结构2.switch case 分支结构3.循环结…

C++消息队列处理提高性能的方法

1 消息队列特点 在当前多数软件系统中,处理传递消息多用消息队列机制,他具有以下优点: 1. 异步通信:消息队列支持异步通信,发送者和接收者之间的解耦程度较高。发送者将消息放入队列后即可继续执行,而不需要等待接收者的响应。这样可以提高系统的吞吐量和处理能力。 2.…

删除指定的数

删除指定的数 题目描述&#xff1a;解法思路&#xff1a;解法代码&#xff1a;运行结果&#xff1a; 题目描述&#xff1a; 先输入10个整数存放在数组中&#xff0c;再输入⼀个整数n&#xff0c;删除数组中所有等于n的数字&#xff0c;数组中剩余的数组保证数组的最前面&#…

电脑键盘快捷键,掌握这些,快速提高效率!

“我是一名电脑新手&#xff0c;在使用电脑时还有很多不懂的。想问问大家平常有什么比较好用的电脑键盘快捷键可以推荐吗&#xff1f;” 在数字化时代&#xff0c;电脑已成为我们生活与工作中不可或缺的工具。掌握一些常用的电脑键盘快捷键&#xff0c;不仅能提高我们的工作效率…

[备赛笔记]——5G大唐杯(5G考试等级考考试基础试题)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;Vir2021GKBS &#x1f43c;本文由…

学生信息管理展示-h5版(uniapp+springboot+vue)

记录一下做的第一个完整的h5业务。 一、登录 二、个人中心 三、首页&#xff08;管理员&#xff09; 四、首页&#xff08;学生&#xff09; 五、视频展示 学生信息管理展示&#xff08;h5&#xff09;完整版

如何解决由于浏览器版本升级导致脚本用不了的问题【文章底部可得就业内推码】

目录 1. 使用WebDriverManager&#xff1a; 2. 手动下载更新驱动&#xff1a; 3. 设置浏览器选项&#xff1a; 4. 使用Selenium Grid&#xff1a; 5. 参考官方文档和社区&#xff1a; 面对浏览器版本升级导致的网页自动化脚本无法正常运行的问题&#xff0c;你可以采取以下…

chromedriverUnable to obtain driver for chrome using ,selenium找不到chromedriver

1、下载chromedriver chromedriver下载网址&#xff1a;CNPM Binaries Mirror 老版本在&#xff1a;chromedriver/ 较新版本在&#xff1a;chrome-for-testing/ 2、设置了环境变量还是找不到chromedriverUnable to obtain driver for chrome using NoSuchDriverException:…