# AI数据库管理系统 **Repository Path**: ithanc/ai-database-management-system ## Basic Information - **Project Name**: AI数据库管理系统 - **Description**: AI数据库管理系统,专注于为AI应用提供高效、灵活的数据存储与管理解决方案,支持大规模数据处理与实时分析,支持自然语言数据库操作。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-08-27 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI数据库管理系统 基于AI的智能数据库管理系统,支持自然语言数据库操作。 ## 📸 项目展示 ### 🏠 主界面 ![主界面](screenshots/main-interface.png) *智能聊天界面,支持自然语言数据库操作* ### 💬 聊天功能 ![聊天功能](screenshots/chat-demo1.png) *实时对话,AI理解自然语言并执行数据库操作* ![聊天功能](screenshots/chat-demo2.png) *实时对话,AI理解自然语言并执行数据库操作* ![聊天功能](screenshots/chat-demo3.png) *实时对话,AI理解自然语言并执行数据库操作* ![聊天功能](screenshots/chat-demo4.png) *实时对话,AI理解自然语言并执行数据库操作* ![聊天功能](screenshots/chat-demo5.png) *实时对话,AI理解自然语言并执行数据库操作* ### 📊 查询结果 ![查询结果](screenshots/query-result.png) *查询结果可视化展示,支持表格和图表* ### 🔍 意图解析详情 ![意图解析](screenshots/intent-analysis.png) *AI意图解析详情展示,透明化AI理解过程* ### 📈 系统监控 ![系统监控](screenshots/system-monitoring.png) *实时系统状态监控,健康检查和性能指标* ### 📋 操作历史 ![操作历史](screenshots/operation-history.png) *完整的操作历史记录,支持审计和回查* ## 系统架构 ### 后端技术栈 - **Java 17** + **Spring Boot 3.2.0** - **MySQL 8.0** 数据库 - **硅基流动大模型API** 集成 - **Spring Data JPA** 数据访问 - **Maven** 项目管理 ### 前端技术栈 - **Vue 3** + **TypeScript** - **Element Plus** UI组件库 - **Vite** 构建工具 - **Pinia** 状态管理 - **Axios** HTTP客户端 ## 核心功能 ### 🤖 AI意图解析 - 自然语言问题理解 - 数据库操作意图识别 - 智能SQL生成 - 参数化查询安全保障 ### 💾 数据库操作 - 安全的CRUD操作 - 防SQL注入机制 - 事务管理 - 连接池优化 ### 💬 聊天界面 - 实时对话体验 - 消息历史记录 - 操作结果可视化 - 响应式设计 ### 📊 系统监控 - 健康状态检查 - 性能监控 - 日志记录 - 错误追踪 ## 快速开始 ### 环境要求 - **Java 17+** - **Node.js 16+** - **MySQL 8.0+** - **硅基流动API密钥-点击链接免费获取2000万Tokens: [https://cloud.siliconflow.cn/i/DYojw0al](https://cloud.siliconflow.cn/i/DYojw0al)** ### 1. 数据库配置 ```sql -- 创建数据库 CREATE DATABASE ai_db_manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 执行初始化脚本 -- 运行 src/main/resources/db/init.sql ``` ### 2. 配置文件 编辑 `src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/ai_db_manager?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true username: your_mysql_username password: your_mysql_password ai: siliconflow: api-key: your_siliconflow_api_key ``` ### 3. 启动系统 #### 方式一:一键启动(推荐) **Windows:** ```bash start.bat ``` **Linux/macOS:** ```bash chmod +x start.sh ./start.sh ``` #### 方式二:分别启动 **启动后端:** ```bash ./mvnw spring-boot:run ``` **启动前端:** ```bash cd frontend npm install npm run dev ``` ### 4. 访问系统 - **前端界面:** http://localhost:8081 - **后端API:** http://localhost:8080/api - **系统健康检查:** http://localhost:8080/api/system/health ## 使用指南 ### 自然语言示例 #### 查询操作 - "查询所有用户" - "查找年龄大于25岁的用户" - "显示用户名包含'张'的用户信息" - "统计活跃用户数量" #### 插入操作 - "添加一个新用户,用户名是testuser,邮箱是test@example.com" - "插入用户:姓名李四,年龄30,状态活跃" #### 更新操作 - "更新用户名为zhangsan的用户年龄为30" - "将所有非活跃用户状态改为暂停" #### 删除操作 - "删除用户名为testuser的用户" - "删除状态为SUSPENDED的用户" ### API接口 #### 聊天接口 ```http POST /api/chat Content-Type: application/json { "sessionId": "session_123", "question": "查询所有用户", "includeDetails": false } ``` #### 健康检查 ```http GET /api/system/health ``` #### 聊天历史 ```http GET /api/chat/history/{sessionId} ``` ## 项目结构 ``` mcp_pro/ ├── src/main/java/com/mcppro/aidatabase/ │ ├── config/ # 配置类 │ ├── controller/ # 控制器 │ ├── dto/ # 数据传输对象 │ ├── entity/ # 实体类 │ ├── repository/ # 数据访问层 │ ├── service/ # 业务逻辑层 │ ├── util/ # 工具类 │ ├── exception/ # 异常处理 │ └── interceptor/ # 拦截器 ├── src/main/resources/ │ ├── db/ # 数据库脚本 │ └── application.yml # 配置文件 ├── frontend/ │ ├── src/ │ │ ├── api/ # API服务 │ │ ├── components/ # Vue组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # 状态管理 │ │ ├── types/ # 类型定义 │ │ └── views/ # 页面组件 │ ├── package.json │ └── vite.config.ts ├── start.bat # Windows启动脚本 ├── start.sh # Linux/macOS启动脚本 └── README.md ``` ## 安全特性 ### SQL注入防护 - 参数化查询 - 字段名白名单验证 - 表名白名单限制 - 输入值类型检查 ### 访问控制 - CORS跨域配置 - 请求频率限制 - 会话管理 - 错误信息脱敏 ### 数据保护 - 敏感信息加密 - 日志数据脱敏 - 安全的连接配置 - 事务回滚机制 ## 监控与日志 ### 应用监控 - Spring Boot Actuator健康检查 - 自定义业务指标 - 内存使用监控 - 数据库连接池监控 ### 日志系统 - 结构化日志记录 - 分级日志管理 - 异步日志写入 - 日志文件轮转 ### 性能指标 - API响应时间 - 数据库查询性能 - AI服务调用延迟 - 系统资源使用率 ## 扩展开发 ### 添加新表支持 1. 在 `SafeSqlGenerator` 中添加表名到白名单 2. 添加字段映射到 `ALLOWED_FIELDS` 3. 创建对应的Entity和Repository 4. 更新AI提示词模板 ### 集成新的AI服务 1. 实现新的AI服务适配器 2. 添加配置参数 3. 更新意图解析逻辑 4. 添加相应的测试用例 ## 故障排除 ### 常见问题 **Q: 后端启动失败** - 检查Java版本是否为17+ - 确认MySQL服务已启动 - 验证数据库连接配置 - 检查端口8080是否被占用 **Q: 前端无法连接后端** - 确认后端服务已启动 - 检查代理配置 - 验证CORS设置 - 查看浏览器控制台错误 **Q: AI服务调用失败** - 验证硅基流动API密钥 - 检查网络连接 - 确认API配额是否充足 - 查看后端日志详细错误 **Q: 数据库操作失败** - 检查SQL语法 - 验证字段名是否在白名单中 - 确认数据类型匹配 - 查看数据库连接状态 ### 日志查看 **后端日志:** ```bash tail -f logs/ai-database-manager.log ``` **前端开发日志:** ```bash # 在frontend目录下 npm run dev ``` ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交代码变更 4. 推送到分支 5. 创建Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 技术支持 如有问题或建议,请创建Issue或联系开发团队。 --- **AI数据库管理系统** - 让数据库操作变得更加智能和简单!