当前位置: 首页 > wzjs >正文

达内网站开发视频教程网站找不到的原因

达内网站开发视频教程,网站找不到的原因,谷歌浏览器不支持wordpress插件,网站建设万首先金手指12在管理菜单、部门结构等场景时,我们经常需要将数据库中的层级数据转换为树形结构。本文将通过Hutool的TreeUtil工具类,实现零递归快速构建树形结构。 一、环境准备 JDK 1.8Spring Boot 2.xHutool 5.8.16MySQL 8.0 二、数据准备 -- 创建部门表 CREATE…

在管理菜单、部门结构等场景时,我们经常需要将数据库中的层级数据转换为树形结构。本文将通过Hutool的TreeUtil工具类,实现零递归快速构建树形结构。

一、环境准备

  • JDK 1.8+
  • Spring Boot 2.x
  • Hutool 5.8.16
  • MySQL 8.0

二、数据准备

-- 创建部门表
CREATE TABLE `sys_dept` (`id` int NOT NULL AUTO_INCREMENT,`dept_name` varchar(50) NOT NULL COMMENT '部门名称',`parent_id` int NOT NULL DEFAULT '0' COMMENT '父部门ID',`sort` int DEFAULT '0' COMMENT '排序',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- 插入测试数据
INSERT INTO sys_dept (id, dept_name, parent_id, sort) VALUES
(1, '集团公司', 0, 1),
(2, '技术部', 1, 1),
(3, '开发组', 2, 1),
(4, '测试组', 2, 2),
(5, '市场部', 1, 2),
(6, '华北分部', 5, 1);

三、代码实现

1. 添加Hutool依赖

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

2. 实体类

/*** * @TableName sys_dept*/
@Data
public class SysDept implements Serializable {/*** 主键*/private Integer id;/*** 部门名称*/private String deptName;/*** 父部门ID*/private Integer parentId;/*** 排序字段*/private Integer sort;private static final long serialVersionUID = 1L;
}

3. Mapper接口

@Mapper
public interface SysDeptMapper {List<SysDept> listAll();
}

4. Service实现


@Service
public class DeptServiceImpl implements DeptService{@Autowiredprivate SysDeptMapper sysDeptMapper;@Overridepublic List<Tree<Integer>> getDeptTree() {// 查询数据库获取原始数据List<SysDept> depts = sysDeptMapper.listAll();// 配置字段映射TreeNodeConfig treeNodeConfig = new TreeNodeConfig();treeNodeConfig.setIdKey("id");treeNodeConfig.setParentIdKey("parentId");treeNodeConfig.setWeightKey("sort"); // 排序字段treeNodeConfig.setChildrenKey("children");// 转换树形结构(根节点parentId为0)List<Tree<Integer>> resultTreeList = TreeUtil.build(depts, 0, treeNodeConfig,(treeNode, tree) -> {tree.setId(treeNode.getId());tree.setParentId(treeNode.getParentId());tree.putExtra("deptName", treeNode.getDeptName());tree.putExtra("sort", treeNode.getSort());});return resultTreeList;}
}

5. Controller

@RestController
@RequestMapping("/dept")
public class DeptController {@Autowiredprivate DeptService deptService;@RequestMapping("/tree")public List<Tree<Integer>> list(){return deptService.getDeptTree();}
}

四、结果示例

请求GET /dept/tree返回:

[{"id": 1,"parentId": 0,"deptName": "集团公司","sort": 1,"children": [{"id": 2,"parentId": 1,"deptName": "技术部","sort": 1,"children": [{"id": 3,"parentId": 2,"deptName": "开发组","sort": 1},{"id": 4,"parentId": 2,"deptName": "测试组","sort": 2}]},{"id": 5,"parentId": 1,"deptName": "市场部","sort": 2,"children": [{"id": 6,"parentId": 5,"deptName": "华北分部","sort": 1}]}]}
]

五、技术要点

1. TreeNodeConfig配置

  • setIdKey(): 指定ID字段名
  • setParentIdKey(): 指定父ID字段名
  • setChildrenKey(): 指定子节点集合字段名
  • setWeightKey(): 指定排序字段
  • putExtra():添加额外字段

参考:
https://doc.hutool.cn/pages/TreeUtil/


文章转载自:

http://GY1gpEAF.wbgxz.cn
http://zhUSKPUe.wbgxz.cn
http://hBUiilW5.wbgxz.cn
http://MGrrswU0.wbgxz.cn
http://TzYQT5iO.wbgxz.cn
http://ccLRJUlv.wbgxz.cn
http://ezqwx9oQ.wbgxz.cn
http://dreMaay8.wbgxz.cn
http://HZdnnGAc.wbgxz.cn
http://HusX6ErE.wbgxz.cn
http://TwMy3tGX.wbgxz.cn
http://HQsrowyD.wbgxz.cn
http://EhXBFsbX.wbgxz.cn
http://glCJGIhh.wbgxz.cn
http://9YbJuK1Z.wbgxz.cn
http://CsZ7y236.wbgxz.cn
http://gy5SuNJW.wbgxz.cn
http://wkaXv1CG.wbgxz.cn
http://DmwR8Evz.wbgxz.cn
http://Z9KAg3pp.wbgxz.cn
http://zdscbIEr.wbgxz.cn
http://nWdHuxUJ.wbgxz.cn
http://xYVEZYVR.wbgxz.cn
http://QamswIFC.wbgxz.cn
http://1g4Pfd7O.wbgxz.cn
http://Fl303Bgp.wbgxz.cn
http://D3DiCwYx.wbgxz.cn
http://ehOBBiY0.wbgxz.cn
http://hMNrWg6S.wbgxz.cn
http://2OWUvm8e.wbgxz.cn
http://www.dtcms.com/wzjs/735236.html

相关文章:

  • 阜阳h5网站建设wordpress搭建电商教程
  • 广州手机网站定制咨询哪些人做数据监测网站
  • 涪陵建设工程信息网站互联网论坛有哪些
  • 丹东建设银行网站广东企业微信网站开发
  • 纯静态企业网站企业管理咨询合同书范本
  • 网站反链接学校网站建设制作方案
  • 广州网站建设哪家有专业旅游网站制作
  • 盘县网站开发wordpress 分类图片尺寸
  • 校园网站html模板聊天网站备案
  • 手机网站一键开发我想做代理商
  • 云谷系统网站开发一个完整的企业网站怎么做
  • 枣庄市住房和建设局网站教修图的网站
  • 猪八戒托管赏金做网站购物平台app
  • 垂直行业门户网站建设方案赣州人才网最新招聘信息2023年
  • 青岛网站运营推广绵阳网站建设软件有哪些
  • 烈士陵园网站建设方案百度文库可直接进入正能量网站
  • 网站制作要多少钱网站建设地址北京昌平
  • 大气医院网站模板爱站seo排名可以做哪些网站
  • 宁波网站建站模板做网站 使用权 所有权
  • php app网站建设美乐乐网站源码
  • 网站建设毕业设计的分类号重庆在线教育平台
  • 吉安知名网站建设如何备份wordpress站点
  • 温州网站关键词推广wordpress影视主题下载
  • 网站分析流程系统平台
  • 制作网站代码网络信息化建设方案
  • p2p网站建设 深圳北京市住房与建设厅官方网站
  • 广州设计网站建设html5 经典网站
  • 做网站公司哪家公司好做文学网站算不算开公司
  • 网站建设费开票税收代码城乡建设吧部网站
  • 仿漫画网站建设定制小说网站系统源码建设赤峰市宁城县住房和建设局网站