java提取系统应用的日志中的sql获取表之间的关系

为了获取到对应的sql数据,分了三步骤

第一步,获取日志文件,解析日志文件中的查询sql,递归解析sql,获取表关系集合

递归解析sql,获取表与表之间的关系

输出得到的对应关联关系数据

第二步,根据获取到的表关系集合,提取表名和列名集合查出对应的中文备注,组装数据

建表的映射关系以及表的列字段信息,封装成json对象

第三步:创建我们的文件,将我们的原始数据和组装好的json对象数据存储在文本里

原始文件

组装后生成的json文件的内容,已经经过格式化了,包含两个部分内容,一是表之间的关系集合,二是各表集合,表包含我们里面用到的关联列

接下来就是图形展示 ,这个UI插件我还没弄,下面的我在慢慢找个可以拖拉的插件用于显示,后面找到合适的控件在打包项目了

之前找到一个控件,希望效果类似于下面的这个吧

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

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

相关文章

怎么创建一个能在线测试php的html5网页?

代码示例: 一、搭建服务器环境 首先,你需要在服务器上搭建 PHP 运行环境。如果你使用的是 Linux 服务器,可以使用 Apache 或 Nginx 作为 Web 服务器,并安装 PHP 解释器。对于 Windows 服务器,可以使用 WAMP&#xff08…

16_动态提示窗口_协程延时

创建动态提示窗口DynamicWnd.cs 编写代码 using UnityEngine; using UnityEngine.UI; //功能 : 动态窗口界面 public class DynamicWnd : WindowsRoot{public Animation tipsAni;public Text txtTips;protected override void InitWnd() {base.InitWnd();//在启动时先隐藏提示…

路由器旁挂三层网络实现SDWAN互联(爱快SD-WAN)

近期因公司新办公区建设,原有的爱快路由器的SDWAN功能实现分支之间互联的服务还需要继续使用。在原有的小型网络中,使用的爱快路由器当作网关设备,所以使用较为简单,如下图所示。 现变更网络拓扑为三层网络架构,但原有的SDWAN分支…

隐私保护+性能优化,RyTuneX 让你的电脑更快更安全

RyTuneX 是一款专为 Windows 10 和 11 用户量身打造的系统优化工具,采用先进的 WinUI 3 框架开发,以其现代化的设计风格和强大的功能集合脱颖而出。这款工具不仅界面简洁美观,还提供了多样化的系统优化选项,旨在帮助用户最大化设备…

java上传图片功能实现

1 MinIO核心概念 下面介绍MinIO中的几个核心概念,这些概念在所有的对象存储服务中也都是通用的。 对象(Object) 对象是实际的数据单元,例如我们上传的一个图片。 存储桶(Bucket) 存储桶是用于组织对象的命…

深入MapReduce——引入

引入 前面我们已经深入了HDFS的设计与实现,对于分布式系统也有了不错的理解。 但HDFS仅仅解决了海量数据存储和读写的问题。要想让数据产生价值,一定是需要从数据中挖掘出价值才行,这就需要我们拥有海量数据的计算处理能力。 下面我们还是…

Typescript泛型详解解读

泛型 : 在定义函数、接口、类的时候不能预先确定要使用的数据的类型,而是在使用函数、接口、类的时候才能确定数据的类型 普通方法示例: 需求:定义一个函数,传入两个参数,第一参数是数据,第二个参数是数量,函数的作用:根据数量产生对应个数的数据,存放在一个数组中…

[AI翻译] 语言指南(proto 3)

语言指南(proto 3) 语言指南(proto 3)| 协议缓冲区文档 --- Language Guide (proto 3) | Protocol Buffers Documentation 介绍如何在项目中使用 Protocol Buffers 语言的 proto3 修订版。 本指南描述了如何使用协议缓冲区语言来…

工作流引擎camunda7和liteflow的功能异同对比,性能对比,使用场景对比

Camunda 7 和 LiteFlow 是两个不同的工作流引擎,虽然它们都可以用来实现流程编排和管理,但它们的设计理念、功能特点和适用场景存在较大的差异。以下是对它们的功能和性能的详细对比: 1. 基本介绍 Camunda 7 定位:一款重量级的企…

解决npm install安装出现packages are looking for funding run `npm fund` for details问题

当我们运行npm install时,可能会收到类似以下的提示信息:“x packages are looking for funding.” 这并不是错误提示,也不会影响项目的正常运行。其实实在提醒有一些软件包正在寻求资金支持。 根据提示输入npm fund可以查看详细的信息&#…

小米Vela操作系统开源:AIoT时代的全新引擎

小米近日正式开源了其物联网嵌入式软件平台——Vela操作系统,并将其命名为OpenVela。这一举动在AIoT(人工智能物联网)领域掀起了不小的波澜,也为开发者们提供了一个强大的AI代码生成器和开发平台。OpenVela项目源代码已托管至GitH…

python定时监控端口脚本

python写了一个监控端口服务,自动重启的脚本 为了防止以后找不到代码,特别记录一下 import os import sys import threading import timeimport socket import subprocessdef check_port_and_run_script(port, script_path):# 创建一个socket对象sock …

2025_1_22打卡

402. 移掉 K 位数字 - 力扣(LeetCode) 279. 完全平方数 - 力扣(LeetCode)

【搞机】GMK-G3因特尔n100处理器核显直通win10虚拟机

环境 系统:Proxmox Virtual Environment 8.1.3 Linux内核:Linux version 6.5.13-6-pve (buildproxmox) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC PMX 6.5.13-6 (2024-07-26T12:34Z) CPU&#x…

MECD+: 视频推理中事件级因果图推理--VLM长视频因果推理

论文链接:https://arxiv.org/pdf/2501.07227v1 1. 摘要及主要贡献点 摘要: 视频因果推理旨在从因果角度对视频内容进行高层次的理解。然而,目前的研究存在局限性,主要表现为以问答范式执行,关注包含孤立事件和基本因…

HTML5 History API

在 HTML5 的 History API 中,pushState 和 replaceState 方法也可以接受一个 state 对象作为参数。这些方法允许你在改变浏览器路由时不重新加载页面,并且可以附加一些自定义数据。 state 返回在 history 栈顶的 任意 值的拷贝。 let currentState h…

2024“博客之星”——我的博客成长与技术洞察

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 目录 一、引言二、个人成长与突破盘点(一)技能提升与知识拓展(二)创作风格与影响力提升&#xf…

学生管理系统C++版(简单版)详解

有错请指出 啊~&#xff0c;答应大家的来了 头文件&#xff1a; #include<iostream> #include<stdlib.h> #include<windows.h> iostream是标准头文件&#xff0c;stdlib.h也可以写成cstdlib&#xff0c;windows.h&#xff0c;用Sleep 数据定义&#xff…

Apache Hive 聚合函数与 OVER 窗口函数:从基础到高级应用

在大数据时代&#xff0c;Apache Hive 是处理和分析海量数据的强大工具。Hive 提供了丰富的聚合函数和强大的 OVER 窗口函数&#xff0c;能够帮助我们高效地进行数据分析。本文将综合介绍 Hive 的聚合函数和 OVER 窗口函数&#xff0c;结合实际使用场景和代码示例&#xff0c;帮…

KOC营销2.0:出海品牌在2025年春节的创新故事讲述

在全球化日益加深的今天&#xff0c;春节已不再是中国独有的节日符号&#xff0c;它逐渐成为了世界各地文化交融的一部分。对于出海品牌而言&#xff0c;春节不仅是连接中国消费者与海外市场的桥梁&#xff0c;更是展示品牌文化深度与创意的重要契机。KOC营销作为新时代的传播策…