# stadyDatabase **Repository Path**: yao-bo/stady-database ## Basic Information - **Project Name**: stadyDatabase - **Description**: 一个数据库管理工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据库工具系统 一个轻量级的数据库可视化管理工具,支持查看数据库表结构、ER图关系展示和字段智能提示。 ## ⭐ 重要更新:Vue 3前端已就绪 项目现已提供**全新的Vue 3前端**,具有更好的用户体验和更可靠的ER图显示! ### 快速体验Vue前端(推荐) ```bash # 1. 启动后端 mvn spring-boot:run # 2. 启动Vue前端开发服务器 cd src\main\resources\static\vue npm install npm run dev # 3. 访问 http://localhost:3000 ``` 👉 **详细说明请查看:[VUE前端使用指南.md](./VUE前端使用指南.md)** ## 功能特性 - **表结构查看**: 查看数据库所有表及其字段详情 - **ER图可视化**: 使用ECharts展示表之间的外键关系 - **字段智能提示**: 基于已有字段的搜索和建议 - **关系分析**: 识别表之间的一对一、一对多关系 - **交互式操作**: 支持点击节点查看详情、拖拽调整布局 - **新增表设计**: 可视化设计新表结构 ## 技术栈 ### 后端 - Java 1.8 - Spring Boot 1.5.22.RELEASE - Oracle JDBC Driver (ojdbc6) - Spring JDBC ### 前端(新版 - 推荐) - **Vue 3** + Composition API - **Vite** 构建工具 - **Element Plus** UI组件库 - **vue-echarts** ER图组件 - **Pinia** 状态管理 ### 前端(旧版) - 原生 HTML/CSS/JavaScript - ECharts 4.9.0 (ER图可视化) - Bootstrap 3.3.7 (UI样式) - jQuery 3.2.1 ## 快速开始 ### 1. 安装Oracle JDBC驱动 下载Oracle JDBC驱动并放置到项目的lib目录: ```bash # 下载 ojdbc6.jar (Oracle 11g) wget https://github.com/spencer-ebc/dmdb-driver/raw/master/ojdbc6.jar -O lib/ojdbc6.jar # 或者从Oracle官网下载对应版本的驱动 # 将下载的ojdbc6.jar复制到 lib/ 目录 ``` ### 2. 配置数据库连接 编辑 `src/main/resources/application.properties`: ```properties spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=oracle.jdbc.OracleDriver ``` ### 3. 运行应用 ```bash # 使用Maven运行 mvn spring-boot:run # 或者先打包再运行 mvn clean package java -jar target/stadyDatabase-1.0.0.jar ``` ### 4. 访问应用 启动成功后,在浏览器中访问: ``` http://localhost:8080 ``` ## API接口 ### 获取所有表列表 ``` GET /api/tables ``` ### 获取表详情 ``` GET /api/table/{tableName} ``` ### 获取ER图数据 ``` GET /api/graph ``` ### 获取表关系 ``` GET /api/relations ``` ### 字段智能提示 ``` GET /api/fields/suggest?keyword=xxx ``` ### 数据库状态检查 ``` GET /api/status ``` ## 项目结构 ``` stadyDatabase/ ├── src/main/ │ ├── java/com/dbtool/ │ │ ├── DbToolApplication.java # 启动类 │ │ ├── config/ │ │ │ └── DatabaseConfig.java # 数据库配置 │ │ ├── model/ │ │ │ ├── TableInfo.java # 表信息 │ │ │ ├── FieldInfo.java # 字段信息 │ │ │ ├── TableRelation.java # 表关系 │ │ │ └── GraphData.java # ER图数据 │ │ ├── service/ │ │ │ ├── MetadataExtractor.java # 元数据提取 │ │ │ └── RelationAnalyzer.java # 关系分析 │ │ └── controller/ │ │ └── DbMetadataController.java # REST API │ └── resources/ │ ├── application.properties # 配置文件 │ └── static/ │ ├── index.html # 主页面 │ ├── css/style.css # 样式 │ └── js/app.js # 前端逻辑 ├── lib/ │ └── ojdbc6.jar # Oracle JDBC驱动 └── pom.xml # Maven配置 ``` ## 使用说明 ### 查看ER图 1. 启动应用后访问首页 2. 中央区域显示表关系ER图 3. 不同线条样式表示不同关系类型: - 实线:一对一关系 (1:1) - 虚线:一对多关系 (1:N) ### 查看表详情 1. 在左侧表列表中点击表名 2. 或在ER图中点击节点 3. 右侧显示表的完整字段信息 ### 字段智能提示 1. 在右侧搜索框输入字段名关键字 2. 系统返回所有匹配的字段 3. 点击字段名可复制到剪贴板 ## 常见问题 ### Q: 提示找不到ojdbc6.jar A: 确保已将ojdbc6.jar放置在项目的lib目录下 ### Q: 无法连接到数据库 A: 检查application.properties中的数据库配置是否正确 ### Q: ER图不显示 A: 确保数据库中有外键关系,或检查浏览器控制台错误信息 ## 开发说明 ### 修改数据库类型 如需支持其他数据库(MySQL、PostgreSQL等): 1. 修改pom.xml中的JDBC驱动依赖 2. 修改application.properties中的数据库配置 3. 根据需要调整MetadataExtractor中的SQL ### 自定义ER图样式 编辑 `src/main/resources/static/js/app.js` 中的 `renderGraph()` 函数。 ## 许可证 MIT License