java 各种 树形结构构图方法和数据库函数 【非控件】

简介: java 各种 树形结构构图方法和数据库函数 【非控件】

一、数据库类:

1.建表:

 CREATE TABLE `dept` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `deptid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

数据:

INSERT INTO `dept` VALUES ('1', '语音业务部', null);
  INSERT INTO `dept` VALUES ('2', '小云AI', '1');
  INSERT INTO `dept` VALUES ('3', '云客宝', '1');
  INSERT INTO `dept` VALUES ('4', '流量业务部', null);
  INSERT INTO `dept` VALUES ('5', 'MIFI', '4');
  INSERT INTO `dept` VALUES ('6', '物联网卡', '4');

查询业务部下所有的子部门:

SELECT
        b.*
    FROM
        dept a
    INNER JOIN dept b ON a.id = b.deptid
    WHERE
        a.id = 1

00bc08727ac3281d473e6caa726784f.png

二、 数据库函数类:

ae0bb61dee872929faa9c89ab41c047.png

cba818e745cd644159b40a72aa7d9f0.png

delimiter /
    DROP FUNCTION IF EXISTS `mydb`.`getChild`/
    CREATE FUNCTION `getChild`(rootId varchar(36))
      RETURNS VARCHAR(1000)
      BEGIN
        DECLARE ptemp VARCHAR(1000);
        DECLARE ctemp VARCHAR(1000);
        SET ptemp = '#';
        SET ctemp = rootId;
        WHILE ctemp IS NOT NULL DO
          SET ptemp = concat(ptemp, ',', ctemp);
          SELECT group_concat(id)
          INTO ctemp
          FROM t_tree_table
          WHERE FIND_IN_SET(pid, ctemp) > 0;
        END WHILE;
        RETURN ptemp;
      END;

下面是查询语句,只要在getChild的参数中输入需要查询的父级id即可,

例如示例数据中的 河南 的 id 为 2.

select * from t_tree_table where find_in_set(id,getChild(2));
目录
相关文章
|
12天前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
4天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
32 4
|
15天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
35 17
|
11天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
23 7
|
8天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
13 2
|
16天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
13 2
|
10天前
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
|
SQL 存储 分布式计算
【Java新特性学习 四】JDK8: 库函数新特性之Optional,Streams,Date/Time API(JSR 310),Base64,并行数组
【Java新特性学习 四】JDK8: 库函数新特性之Optional,Streams,Date/Time API(JSR 310),Base64,并行数组
80 0
|
存储 小程序 Java
Java基础——函数与数组
今天让我们进一步学习一下java中的函数与数组吧。
126 0
Java基础——函数与数组
|
存储 小程序 Java
java4---函数与数组
发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数。 练习:把两个整数相加:
312 0
java4---函数与数组
下一篇
无影云桌面