2023年3月7日
主要配置参数的引用和定义
- 表字段
.vm模板: 参数名 | 使用位置(.vm模板文件中 | 前端表单表头 | 默认值来源 | db表: gen_table |
---|---|---|---|---|
packageName | package ${packageName}.controller; | 生成包路径 | 配置文件 |
e_name |
ClassName和className | I${ClassName}Service ${className}Service; | - | DB 表名 配合配置文件使用 | class_name(类名非引用名 |
functionName |
* 获取${functionName}详细信息 |
生成功能名 | DB表的注释 | function_name |
moduleName 模块名 | @RequestMapping("/${moduleName}/${businessName}" | 生成模块名 | 配置文件 包名最后一级 | module_name |
businessName 业务名 | 生成业务名 | 配置文件 DB名最后一级 | business_name |
- 列字段
参数 | 前端表单表头 | db表: gen_table_column | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
解释:
b. 配置文件所在位置: ruoyi-generator/src/main/resources/generator.yml
表字段参数设置核心代码位置: ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java#initTable(..。
列字段参数设置核心代码位置: ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java#initColumnField(..。
<!-- -->
f. 个人使用的事若依前后端分离版本 3.2.0
模板引擎工作流程
首先看com.ruoyi.generator.controller.GenControllerimportTableSave 接口,它做了以下这些事情
b. 初始化表数据并将数据插入ruoyi数据库的gen_table表
d. 初始化列信息并将数据插入ruoyi数据库的gen_table_column表
<!-- -->
-
接下来看下 com.ruoyi.generator.controller.GenControllerbatchGenCode 接口,它做了以下这些事情
b. 初始化Velocity
d. 读取模板、渲染模板,然后将渲染后的模板内容添加进如压缩流,之后前端就可以下载zip压缩文件了。
a. 前端 导入按钮 发送请求 http://localhost/dev-api/tool/gen/db/list?pageNum=1&pageSize=10&tableName=liner
1. 获取前端 要导入的 tables (数组 获得 DB 表名数组
2. 查询DB 获得 List\<GenTable\> 列表 (此时只封装了 DB中有的基本 数据
3. importGenTable( List\<GenTable\> ①设置默认的表字段信息 ② 设置默认的列字段信息
- 设置默认的表字段信息
initTable(GenTable genTable, String operName
genTable.setClassName(convertClassName(genTable.getTableName(;
genTable.setPackageName(GenConfig.getPackageName(;
genTable.setModuleName(getModuleName(GenConfig.getPackageName(;
genTable.setBusinessName(getBusinessName(genTable.getTableName(;
genTable.setFunctionName(replaceText(genTable.getTableComment(;
genTable.setFunctionAuthor(GenConfig.getAuthor(;
genTable.setCreateBy(operName;
- 设置默认的列字段信息
initColumnField(GenTableColumn column, GenTable table 方法主要做的事
Java类型 , java属性, 插入, 编辑, 列表, 查询, 查询方式, 必填, 显示类型, 字典类型 这些字段的值
-
代码生成业务流程
b. 下载 只修改下载路径和导入路径
c. 保存到相关目录