# wtf-dsp
**Repository Path**: acoolper/wtf-dsp
## Basic Information
- **Project Name**: wtf-dsp
- **Description**: 午托饭-数据源管理平台
特色功能:
1、命名空间
2、数据源管理
3、在线Mybatis的SQL编写和调试
4、代码生成器
5、用户管理
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-04-03
- **Last Updated**: 2025-04-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 午托饭-数据源平台
## 系统网址
* Gitee地址:https://gitee.com/linaiyi/wtf-dsp.git
* 演示地址【Vue2 + element-ui】(前后端分离) :http://localhost:8080/index
* 演示地址【Vue2 + element-ui】(前后端不分离):http://localhost:8004/wtf/index.html
* 接口文档:http://127.0.0.1:8004/wtf/doc.html
## 平台简介
**午托饭-数据源平台**,支持命名空间、可配置的动态多数据源管理、在线SQL编辑(Mybatis)、代码生成器、系统配置、用户管理等核心功能,全部开源。
> 目前项目在持续开发迭代中。
>
> 😜 给项目点点 Star 吧,谢谢!
## 应用场景
### ⭐️ 场景1:动态数据源
> * **静态数据源问题**:
> > * SpringBoot集成多数据源的方案均为静态数据源方案,每次新增一个新的数据源均如下操作:
> > * 1、引入依赖,修改并新增数据源配置;
> > * 2、手动编写对应的SQL代码文件(**每一次代码修改需要重新部署启动**);
> > * 3、重新部署启动服务;
> > * 4、数据源的数据库账号密码变更时,需要修改配置,并重新部署
> * **动态数据源优点**:
> > * 1、支持在线操作数据源的新增、删除、修改、克隆,连接测试,不需要手动重启服务,即可生效,**无需手动部署**;
> > * 2、支持命名空间对数据源进行**资源(包括系统)隔离**,相互影响极低;
> > * 3、支持在线页面对数据源的数据库连接池进行相应**参数和配置定制**;
> > * 4、支持**在线页面以Mybatis方式编写SQL(包括动态参数)** 和 **在线页面调试SQL**
> > * 5、支持**SQL日志追踪**;
> > * 6、支持**集群部署**,以及**数据同步**
> > * 7、支持数据源连接池异常销毁,**自动重创**数据源的**数据库连接池**,无需手动重启服务恢复连接;
> > * 8、支持命名空间之间对数据源、Mapper、SQL的**数据克隆**;
>* **核心数据库前端管理系统**:
> >* 1、资源隔离:核心数据库A,各个子系统均有业务需要直接查询数据库A(主要提供查询业务),数据源管理平台可以作为数据库A的前端数据源管理平台,通过不同的账号和命名空间对各个子系统进行资源隔离
> >* 2、连接池参数配置:运维人员可以在线维护数据源管理平台集群中数据源的连接池配置信息,避免各个子系统直连数据库A连接池配置不合理造成后期数据库压力;
> >* 3、日志追踪:各个子系统的开发人员通过Mapper和SQL管理完成数据库A的SQL查询,和SQL的日志追踪,监测SQL执行效率;
> >* 4、异常自动重启:当连接池异常、数据库账密更新均可以页面重新配置,并自动重建连接池和重连接数据库
> >* 5、动态SQL:支持动态SQL查询业务(Mybatis提供)
### ⭐️ 场景2:在线Mybatis的SQL编写
> * SQL编写在线化
>
> 
> * SQL调试在线化
>
> 
> * SQL修改在线化
>
> 
### ⭐️ 场景3:代码生成
> 支持SpringBoot项目框架的代码结构预览和生成
> 
## 后端项目
| 项目 | Star | 简介 |
|---------------------|------|-------------------|
| [wtf-dsp-admin](https://gitee.com/linaiyi/wtf-dsp.git) | ⭐️ | 基于 Spring Boot 项目 |
| [wtf-dsp-core](https://gitee.com/linaiyi/wtf-dsp.git) | ⭐️ | 基于 Spring Boot 项目 |
| [wtf-dsp-samples](https://gitee.com/linaiyi/wtf-dsp.git) | ⭐️ | 基于 Spring Boot 项目 |
## 前端项目
| 项目 | Star | 简介 |
|-----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|
| [wtf-dsp-vue2](https://gitee.com/linaiyi/wtf-dsp.git) | ⭐️ | 基于 Vue2 + element-ui 实现的管理后台 :
1.支持前后分离部署
2.支持前后不分离部署-打包集成后端 |
| [wtf-dsp-vue3](https://gitee.com/linaiyi/wtf-dsp.git) | ⭐️ | 基于 Vue3 + element-plus 实现的管理后台(待实现) |
## 分支说明
* JDK 8 + Spring Boot 2.2.6.RELEASE 版本: `master` 分支
* JDK 21 + Spring Boot X.X.X.RELEASE 版本: `master-jdk21` 分支(待实现)
## 文档界面

## 逻辑架构及系统组件介绍

* 命名空间
* 数据源管理
* 在线SQL
* Mapper
* Sql
* 日志管理
* 代码生成器
* 模板管理
* 生成器
* 系统配置
* 数据库
* 集群管理(待实现)
| | 功能 | 描述 |
|----|--------|-----------------------------------------------------------------------------|
| ⭐️ | 命名空间 | 命名空间,对数据源、Mapper、Sql和模板、生成器进行资源隔离 |
| ⭐️ | 数据源管理 | 数据源的数据库进行查看、新增、修改、删除、克隆、测试连接、**连接池参数设置** |
| ⭐️ | 在线SQL | 包括Mapper(与Maybait框架中定义Mapper接口一致)、SQL(Mapper的SQL映射文件编写一致),日志管理等功能 |
| 🚀 | Mapper | Mapper(与Maybait框架中定义Mapper接口一致),一个Mapper对应一个Mapper.xml文件、克隆 |
| 🚀 | Sql | 编写某个Mapper中的SQL,支持以**Mybatis的方式编写SQL**,支持**Mybatis标签和动态参数设置 、克隆** |
| 🚀 | 日志管理 | 针对SQL执行的日志进行记录,包括实际执行的SQL、执行结果、返回类、异常、SQL执行时间 |
| ⭐️ | 代码生成器 | 包括模板管理、生成器 |
| 🚀 | 模板管理 | 设置对数据库表代码生成时,指定生成包路径、模块目录、作者、邮箱、表前缀设置、查看 |
| 🚀 | 生成器 | 查看数据源的数据库表、表备注、表字段信息、代码生成预览查看和代码批量生成 |
| ⭐️ | 系统配置 | 包括数据库配置(JAVA中链接和驱动) |
| 🚀 | 数据库 | 支持对各个数据库在JAVA项目中的JDBC链接和驱动进行配置,以便在数据源管理新增、修改支持可选的数据库类型,以及SQL执行的时候底层数据库驱动和连接 |
| ⭐️ | 用户管理 | 允许对平台用户进行新增、修改密码、删除用户等操作 |
| ⭐️ | 集群管理 | 集群部署下的群集节点状态、信息查看 |
### ⭐️命名空间

* 🚀新增

* 🚀编辑

* 🚀删除

### ⭐️数据源管理

* 🚀新增


* 🚀编辑

* 🚀删除

* 克隆

* 路由

### ⭐️Mapper

* 🚀新增

* 🚀删除

* Mapper.xml

* 克隆

### ⭐️SQL

* 🚀新增

* 🚀编辑

* 🚀SQL执行

* 🚀克隆

### ⭐️日志管理

### ⭐️模板管理

* 🚀新增

* 🚀编辑

* 🚀删除

### ⭐️生成器

* 🚀代码预览

* 🚀表字段

### ⭐系统管理
* 🚀数据库

* 🚀新增

### ⭐️用户管理
