数据运维工作台(webSqlManager)
本模块是面向数据库运维人员的统一在线管理工具,支持 Oracle/MySQL/PostgreSQL 多种数据库。核心功能包括 SQL 在线执行与导出、参照 PL/SQL Developer 设计的事务管理(支持多次执行、提交/回滚)、数据库对象浏览(表、视图、存储过程、函数、触发器、调度任务的 DDL 查看)。
安全方面采用 SM4 加密密码传输、一次性临时密钥和 pageToken 会话管理三重机制,支持 SQL 告警词配置(如 DELETE、TRUNCATE 等敏感关键字触发告警)和邮箱告警通知。所有 SQL 操作均有日志审计记录,支持告警日志查询。同时提供 SQL 工作台缓存功能,可保存和恢复用户编辑器状态。
项目基于 Spring Boot 2.7.18 构建,采用 MyBatis-Plus 作为 ORM 持久层,集成 Druid/HikariCP 连接池管理多数据源。SQL 解析使用 JSqlParser 实现告警词检测,密码传输采用 Bouncy Castle 提供的 SM4 加密算法,结合 JWT 实现会话认证。
架构上通过动态数据源切换支持 Oracle/MySQL/PostgreSQL,使用 pageToken 机制管理数据库连接生命周期,超时自动断连。事务管理模块通过 Connection 对象手动控制事务边界,支持多次执行后统一提交或回滚。日志审计通过 AOP 切面实现操作记录,集成 TLog 进行链路追踪。前端交互采用一次性临时密钥保障密码安全,结果集导出使用 EasyExcel 处理。项目通过 Docker Compose 编排部署,集成 Nacos 实现服务注册与配置管理。