背景说明
需求:MySQL树形结构, 根据指定的节点,获取其下属的所有叶子节点。
叶子节点:如果一个节点下不再有子节点,则为叶子节点。
问题分析
1、可以使用类似Java这种面向对象的语言,对节点集合进行逻辑处理,获取叶子节点。
2、直接自定义MySQL函数 getLeafNodeList,通过两层while循环,实现对指定节点的所有叶子节点进行查询。
功能实现
1、创建数据表
1)表结构截图如下(此处简单建一张表t_tree,id主键自增,uuid表示本节点,parent_uuid表示父节点):
2)建表语句如下:
/*Navicat Premium Data Transfer
Source Server : localhost
Source Server Type : MySQL
Source Server Version : 50724
Source Host : localhost:3306
Source Schema : test_db
Target Server Type : MySQL
Target Server Version : 50724
File Encoding : 65001
Date: 07/05/2019 21:04:57*/