228 lines
5.9 KiB
Markdown
228 lines
5.9 KiB
Markdown
# 多数据库连接代码生成器
|
||
|
||
一个功能强大的Java代码生成器,支持多种数据库连接,能够快速生成前后端一体化的CRUD代码。
|
||
|
||
## 功能特性
|
||
|
||
### 核心功能
|
||
- ✅ 多数据库连接管理
|
||
- ✅ 基于MyBatis-Plus的后端代码生成
|
||
- ✅ Vue 2/3 前端代码生成
|
||
- ✅ 完整的RESTful API接口支持
|
||
- ✅ 统一的API响应格式
|
||
- ✅ 分页查询功能
|
||
- ✅ 代码生成测试和验证
|
||
|
||
### 后端代码生成
|
||
- ✅ 实体类 (Entity)
|
||
- ✅ Mapper接口和XML文件
|
||
- ✅ Service接口和实现类
|
||
- ✅ RESTful风格Controller
|
||
- ✅ 请求参数类 (QueryRequest)
|
||
- ✅ 统一响应工具类 (ResponseUtil)
|
||
- ✅ 支持Lombok
|
||
|
||
### 前端代码生成
|
||
- ✅ Vue 2/3 列表组件
|
||
- ✅ Vue 2/3 表单组件
|
||
- ✅ API请求文件
|
||
- ✅ 请求工具封装 (request.js)
|
||
|
||
## 技术栈
|
||
|
||
- **后端**:Java, Spring Boot, MyBatis-Plus
|
||
- **前端**:Vue.js (2.x/3.x)
|
||
- **数据库**:支持MySQL等多种数据库
|
||
- **构建工具**:Maven
|
||
- **UI框架**:Swing (桌面应用界面)
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
- JDK 1.8+
|
||
- Maven 3.6+
|
||
- 数据库 (推荐MySQL 5.7+)
|
||
|
||
### 构建项目
|
||
|
||
```bash
|
||
# 克隆项目
|
||
git clone https://github.com/yourusername/complete-multi-db-connection-code-generator.git
|
||
|
||
# 进入项目目录
|
||
cd complete-multi-db-connection-code-generator
|
||
|
||
# 构建项目
|
||
mvn clean package
|
||
```
|
||
|
||
### 运行应用程序
|
||
|
||
```bash
|
||
# 运行jar文件
|
||
java -jar target/complete-multi-db-connection-code-generator-1.0-SNAPSHOT.jar
|
||
|
||
# 或直接运行主类
|
||
mvn exec:java -Dexec.mainClass="com.codegenerator.Main"
|
||
```
|
||
|
||
## 使用指南
|
||
|
||
### 1. 数据库连接配置
|
||
|
||
启动应用后,首先进行数据库连接配置:
|
||
|
||
- **数据库类型**:选择要连接的数据库类型(目前支持MySQL)
|
||
- **连接名称**:为连接设置一个名称,用于标识
|
||
- **连接URL**:数据库连接地址,如 `jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC`
|
||
- **用户名**:数据库登录用户名
|
||
- **密码**:数据库登录密码
|
||
|
||
点击「测试连接」按钮验证连接是否成功,成功后点击「连接」按钮保存配置并进入代码生成配置页面。
|
||
|
||
### 2. 代码生成配置
|
||
|
||
在代码生成配置页面,设置相关参数:
|
||
|
||
- **基础包名**:生成代码的基础包路径,如 `com.example`
|
||
- **启用Lombok**:是否在实体类中使用Lombok注解(推荐开启)
|
||
- **父类实体**:可选的父类实体全限定名
|
||
- **父类公共字段**:父类中已有的公共字段,多个字段用逗号分隔
|
||
|
||
点击「保存配置」按钮保存设置。
|
||
|
||
### 3. 选择数据表
|
||
|
||
在表列表中,选择需要生成代码的表:
|
||
|
||
- 使用搜索框可以过滤表名
|
||
- 勾选要生成代码的表
|
||
- 点击「生成代码」按钮开始生成
|
||
|
||
### 4. 查看生成结果
|
||
|
||
代码生成成功后,会显示生成路径和详细的生成结果。生成的代码会保存在项目根目录下的 `generated-code` 文件夹中:
|
||
|
||
- `generated-code/backend`:后端代码
|
||
- `generated-code/frontend/vue2`:Vue 2前端代码
|
||
- `generated-code/frontend/vue3`:Vue 3前端代码
|
||
|
||
## 代码结构说明
|
||
|
||
### 后端代码结构
|
||
|
||
```
|
||
backend/src/main/java/com/example/
|
||
├── common/ # 公共组件
|
||
│ ├── request/ # 请求参数类
|
||
│ └── util/ # 工具类 (如ResponseUtil)
|
||
├── entity/ # 实体类
|
||
├── mapper/ # Mapper接口
|
||
├── service/ # Service接口和实现类
|
||
└── controller/ # RESTful控制器
|
||
```
|
||
|
||
### 前端代码结构 (Vue)
|
||
|
||
```
|
||
frontend/vue2/src/ (或 vue3/src/)
|
||
├── views/ # Vue组件
|
||
│ └── [entity]/ # 实体相关组件
|
||
│ ├── List.vue # 列表组件
|
||
│ └── Form.vue # 表单组件
|
||
├── api/ # API请求文件
|
||
└── utils/ # 工具类
|
||
└── request.js # 请求封装工具
|
||
```
|
||
|
||
## API响应格式
|
||
|
||
后端API返回统一的响应格式:
|
||
|
||
```json
|
||
{
|
||
"code": 200, // 状态码
|
||
"message": "成功", // 响应消息
|
||
"data": {...}, // 响应数据
|
||
"timestamp": 1234567890000 // 时间戳
|
||
}
|
||
```
|
||
|
||
分页查询返回格式:
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "查询成功",
|
||
"data": {
|
||
"list": [...], // 数据列表
|
||
"total": 100, // 总条数
|
||
"page": 1, // 当前页码
|
||
"pageSize": 10, // 每页数量
|
||
"pages": 10 // 总页数
|
||
},
|
||
"timestamp": 1234567890000
|
||
}
|
||
```
|
||
|
||
## 状态码说明
|
||
|
||
| 状态码 | 说明 |
|
||
|--------|------|
|
||
| 200 | 成功 |
|
||
| 400 | 请求参数错误 |
|
||
| 401 | 未授权访问 |
|
||
| 403 | 无访问权限 |
|
||
| 404 | 资源不存在 |
|
||
| 500 | 服务器错误 |
|
||
|
||
## 配置文件
|
||
|
||
代码生成器的配置保存在 `generator-config.json` 文件中,包括数据库连接信息和代码生成配置。
|
||
|
||
## 注意事项
|
||
|
||
1. 生成代码前,请确保数据库连接配置正确
|
||
2. 选择合适的基础包名,避免与现有项目冲突
|
||
3. 使用Lombok可以减少实体类的样板代码
|
||
4. 生成的代码可以根据项目实际需求进行修改和扩展
|
||
5. 生成的前端代码需要根据实际项目的目录结构进行调整
|
||
|
||
## 常见问题
|
||
|
||
### 1. 连接数据库失败
|
||
|
||
- 检查数据库服务是否启动
|
||
- 检查连接URL、用户名和密码是否正确
|
||
- 检查网络连接是否正常
|
||
- 检查数据库是否允许远程连接
|
||
|
||
### 2. 代码生成失败
|
||
|
||
- 检查项目是否有写权限
|
||
- 检查基础包名格式是否正确
|
||
- 检查所选表是否存在
|
||
|
||
### 3. 生成的代码无法编译
|
||
|
||
- 检查是否添加了必要的依赖
|
||
- 检查Lombok插件是否安装
|
||
- 检查Java版本是否符合要求
|
||
|
||
## License
|
||
|
||
[MIT](LICENSE)
|
||
|
||
## 更新日志
|
||
|
||
### 版本 1.0.0
|
||
- 初始版本发布
|
||
- 支持MySQL数据库连接
|
||
- 生成Spring Boot后端代码
|
||
- 生成Vue 2/3前端代码
|
||
- 统一API响应格式
|
||
- 完整的CRUD功能支持
|
||
|
||
---
|
||
|
||
如有任何问题或建议,请提交Issue或Pull Request。 |