[根目录](../CLAUDE.md) > **jsowell-generator**

# jsowell-generator 模块

代码生成器模块，基于 Velocity 模板生成 CRUD 代码。

---

## 变更记录 (Changelog)

### 2026-02-03 11:32:30
- 初始化模块文档
- 识别 13 个 Java 文件

---

## 模块职责

- **代码生成**: 根据数据库表生成 CRUD 代码
- **模板管理**: Velocity 模板配置
- **表结构解析**: 数据库表结构读取与解析

---

## 入口与启动

本模块为工具模块，无独立启动入口。

---

## 对外接口

### Controller

| Controller | 路径 | 说明 |
|------------|------|------|
| `GenController` | `/tool/gen/**` | 代码生成 |

### Service

| Service | 说明 |
|---------|------|
| `IGenTableService` | 表信息服务 |
| `IGenTableColumnService` | 列信息服务 |

---

## 关键依赖与配置

### Maven 依赖

```xml
<dependencies>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.jsowell</groupId>
        <artifactId>jsowell-common</artifactId>
    </dependency>
</dependencies>
```

### 生成配置

```java
// GenConfig.java
public class GenConfig {
    // 作者、包路径、自动去除表前缀等配置
}
```

---

## 数据模型

### 核心实体

| 实体类 | 数据库表 | 说明 |
|--------|---------|------|
| `GenTable` | `gen_table` | 代码生成表 |
| `GenTableColumn` | `gen_table_column` | 代码生成列 |

### Mapper XML 文件

位置：`src/main/resources/mapper/generator/`

- `GenTableMapper.xml` (206 行)
- `GenTableColumnMapper.xml` (127 行)

---

## 常见问题 (FAQ)

### Q: 如何生成代码？
1. 访问 `/tool/gen` 页面
2. 导入数据库表
3. 配置生成选项
4. 点击生成代码

---

## 相关文件清单

```
jsowell-generator/
├── src/main/java/com/jsowell/generator/
│   ├── config/                    # 配置
│   │   └── GenConfig.java
│   ├── controller/                # 控制器
│   │   └── GenController.java
│   ├── domain/                    # 实体类
│   │   ├── GenTable.java
│   │   └── GenTableColumn.java
│   ├── mapper/                    # Mapper 接口
│   ├── service/                   # Service 接口
│   │   └── impl/                 # Service 实现
│   └── util/                      # 工具类
│       ├── GenUtils.java
│       ├── VelocityInitializer.java
│       └── VelocityUtils.java
├── src/main/resources/
│   ├── mapper/generator/          # Mapper XML
│   └── vm/                        # Velocity 模板
└── pom.xml
```
