# generate **Repository Path**: jmash/generate ## Basic Information - **Project Name**: generate - **Description**: 一个简易辅助代码模板生成工具,包含面向Saas模式的软件架构代码结构模板。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-04-22 - **Last Updated**: 2026-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JMash Generate 使用说明 JMash Generate 是 [JMash](https://gitee.com/jmash/jmash) 云原生模块代码生成工具。它根据关系型数据库中的表结构,自动生成 JMash 模块的前后端代码,包括: - 后端(Jakarta EE 服务模块、Go Gateway、K8s 部署配置、Proto/Lib) - 前端(Vue3 项目) [![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://gitee.com/jmash/jmash/blob/master/LICENSE) --- ## 一、环境要求 | 项目 | 要求 | | --- | --- | | JDK | Java 17 或更高版本 | | 目标数据库 | MySQL 8 或 MariaDB 10.6 以上 | | 运行方式 | 图形界面(Swing),需要桌面环境或远程桌面 | | 元数据存储 | 可用的 JMash 读写数据库 + Redis(见下文) | --- ## 二、目录结构 ```text jmash-generate/ ├── bin/ # 编译运行区(工具主目录) │ ├── lib/ # 依赖库 │ ├── template/ # 代码生成模板 │ │ ├── jmash/ # 后端模板(gateway/k8s/lib/service) │ │ ├── jmash-mvc/ # MVC 后端模板(business/controller/views) │ │ └── jmash-vue3/ # 前端模板(main/main-k8s/vue3) │ ├── jmash-generator-client-0.0.8.jar # 打包运行入口 │ ├── jmash.conf # 元数据存储库配置(读写库 + Redis) │ └── generate/ # 生成代码输出目录(首次生成后产生) ├── docs/ # 文档存储区 │ ├── image/ # 界面截图 │ ├── 01编辑区/02设计/DataBase/ # 数据库设计(含建表脚本) │ └── FreeMarker_Manual_zh_CN.pdf # FreeMarker 模板手册 └── trunk/ # 源代码存储区 └── generator-client/ # 客户端(GUI)源代码 ``` --- ## 三、启动前配置 ### 3.1 配置元数据存储库 `bin/jmash.conf` 该文件配置生成器**自身**的元数据存储(保存连接信息、模块配置、导入的表/字段元数据等),与「要生成代码的目标数据库」是两回事。 ```properties # 写库(元数据写入) write.jdbc.url=jdbc:mariadb://:3306/jmash_core?useUnicode=true&characterEncoding=utf8 write.jdbc.username=dev_write write.jdbc.password=<加密后的密码> # 读库(元数据读取) read.jdbc.url=jdbc:mariadb://:3306/jmash_core?useUnicode=true&characterEncoding=utf8 read.jdbc.username=dev_read read.jdbc.password=<加密后的密码> # Redis jedis.host= jedis.password=<加密后的密码> jedis.port=6379 ``` > 说明: > - 密码为**加密存储**,请使用 JMash 提供的加密方式生成密文,不要直接填明文。 > - 读写库通常指向同一个 `jmash_core` 数据库。 > - 启动时工具会自动构建所需的元数据表(表结构参考 `docs/01编辑区/02设计/DataBase/`)。 ### 3.2 准备目标数据库 即「你要为哪些表生成代码」的数据库,无需在此处配置,而是通过启动后的图形界面连接(见下文)。 --- ## 四、启动工具 进入 `bin/` 目录后运行: ```bash cd /data/work/jmash-generate/bin java -jar jmash-generator-client-0.0.8.jar ``` 启动成功后弹出主界面,菜单栏为 `DBManage`,包含四个功能项: | 菜单 | 说明 | | --- | --- | | DataBaseConnection | 配置目标数据库连接,并导入表结构 | | TableManage | 表管理(查看/维护导入的表) | | ColumnManage | 字段管理(查看/维护字段属性) | | Gererator | 配置代码生成参数并执行生成 | --- ## 五、使用步骤(重点) ### 步骤 1:连接生成代码库 ![](docs/image/database.png) ### 步骤 2:生成代码 ![](docs/image/generator.png) ### 步骤 3:查看生成结果 生成结果输出到「生成代码路径」目录(默认 `bin/generate/`): ```text generate/ ├── jmash/ # 后端代码(gateway/k8s/lib/service) ├── jmash-mvc/ # MVC 后端代码(business/controller/views) └── jmash-vue3/ # 前端代码(main/main-k8s/vue3) ``` --- ## 六、注意事项 - 系统默认字段识别:`create_date`、`creator_`、`creator_name`、`modify_date`、`modifier_`、`modifier_name` 六个名称会被识别为系统默认字段。 - 关系表(`isRelationTable`)只生成通用文件,不生成针对单表的额外文件。 - 生成器基于 FreeMarker 模板,模板语法参考 `docs/FreeMarker_Manual_zh_CN.pdf`。 - 数据库类型与 Java 类型的映射关系可参考 `trunk/generator-client/readme.txt`。 - 密码均为加密存储,请勿提交明文密码。 --- ## 七、相关资源 - JMash 服务端: - FreeMarker 模板手册:`docs/FreeMarker_Manual_zh_CN.pdf` - 数据库设计脚本:`docs/01编辑区/02设计/DataBase/`