一、新建项目
在菜单栏-项目管理新建项目 相关参数说明
| 参数名 | 说明 |
|---|---|
| 项目名称 | - |
| 数据库类型 | 目前支持mysql/pgsql数据库 |
| 数据库地址 | - |
| 数据库用户名 | - |
| 数据库密码 | - |
yaml
数据库地址jdbc格式,示例如下:
mysql: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true
&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
postgres:jdbc:postgresql://localhost:5432/postgres?useUnicode=true
&characterEncoding=utf8&useSSL=true&autoReconnect=true
&reWriteBatchedInserts=true
二、模板管理

| 参数名 | 说明 |
|---|---|
| 模板内容 | 具体的模板内容 |
| 模板名称 | 格式示例 service.java.vm,用于判断生成代码类型 目前支持如下: .java.vm .cs.vm .ts.vm .vue.vm mapper..xml.vm .sql.vm |
| 生成文件路径 | 根据模板名称自动匹配相应的路径 .java.vm :{}/domain/{}.java 两个大括号分别代表src/main/ + 表配置包路径, 表配置实体类名称 .cs.vm:{}/domain/{}.cs 两个大括号分别代表src/ + 表配置生成包路径,表配置实体类名称 .ts.vm:{}/api/{}/{}/types.ts 三个个大括号分别代表 vue, 表配置生成模块名,表配置生成业务名 .vue.vm 同上 mapper.xml.vm:{}/{}Mapper.xml 两个大括号分别代表 main/ resources/ mapper + 表配置生成模块名,表配置实体类名称 .sql.vm:生成路径为 表配置生成业务名 + 生成文件路径参数 |
以下是表配置内容 

三、模板内容说明
- 具体模板语法可参考velocity官网
- 表配置对应参数说明
| 用法 | 配置内容 |
| --- | --- |
| ${tplCategory} | 生成模板 |
| ${tableName} | 实体类名称 |
| ${functionName} | 生成功能名 |
| ${className} | 实体类名称 |
| ${moduleName} | 生成模块名 |
| ${businessName} | 生成业务名 |
| ${basePackage} | int lastIndex = packageName.lastIndexOf(".");
return StringUtils.substring(packageName, 0, lastIndex); |
| ${packageName} | 生成包路径 |
| ${datetime} | 自动获取当前时间 |
| ${pkColumn} | 主键 |
| ${permissionPrefix} | “moduleName:businessName” |
| ${columns} | List<GenTableColumn> 字段列表,参考GenTableColumn.java, |
| ${table} | genTable类,参考GenTable.java 调用方式:${table.tableName} |
| ${dicts} | 字典 |GenTableColumn.java
java
/**
* 编号
*/
@TableId(value = "column_id")
private Long columnId;
/**
* 归属表编号
*/
private Long tableId;
/**
* 列名称
*/
private String columnName;
/**
* 列描述
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String columnComment;
/**
* 列类型
*/
private String columnType;
/**
* JAVA类型
*/
private String javaType;
/**
* NET类型
*/
private String netType;
/**
* JAVA字段名
*/
@NotBlank(message = "Java属性不能为空")
private String javaField;
/**
* 是否主键(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isPk;
/**
* 是否自增(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isIncrement;
/**
* 是否必填(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isRequired;
/**
* 是否为插入字段(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isInsert;
/**
* 是否编辑字段(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isEdit;
/**
* 是否列表字段(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isList;
/**
* 是否查询字段(1是)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
private String isQuery;
/**
* 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围)
*/
private String queryType;
/**
* 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、image图片上传控件、upload文件上传控件、editor富文本控件)
*/
private String htmlType;
/**
* 字典类型
*/
private String dictType;
/**
* 排序
*/
private Integer sort;GenTable.class
java
/**
* 编号
*/
@TableId(value = "table_id")
private Long tableId;
/**
* 项目名称
*/
@Translation(type = TransConstant.PROJECT_ID_TO_NAME,mapper = "projectId")
@TableField(exist = false)
private String projectName;
/**
* 项目id
*/private Long projectId;
/**
* 表名称
*/
@NotBlank(message = "表名称不能为空")
private String tableName;
/**
* 表描述
*/
@NotBlank(message = "表描述不能为空")
private String tableComment;
/**
* 关联父表的表名
*/
private String subTableName;
/**
* 本表关联父表的外键名
*/
private String subTableFkName;
/**
* 实体类名称(首字母大写)
*/@NotBlank(message = "实体类名称不能为空")
private String className;
/**
* 使用的模板(crud单表操作 tree树表操作 sub主子表操作)
*/
private String tplCategory;
/**
* 生成包路径
*/
@NotBlank(message = "生成包路径不能为空")
private String packageName;
/**
* 生成模块名
*/
@NotBlank(message = "生成模块名不能为空")
private String moduleName;
/**
* 生成业务名
*/
@NotBlank(message = "生成业务名不能为空")
private String businessName;
/**
* 生成功能名
*/
@NotBlank(message = "生成功能名不能为空")
private String functionName;
/**
* 生成作者
*/
@NotBlank(message = "作者不能为空")
private String functionAuthor;
/**
* 生成代码方式(0zip压缩包 1自定义路径)
*/
private String genType;
/**
* 生成路径(不填默认项目路径)
*/
@TableField(updateStrategy = FieldStrategy.NOT_EMPTY)
private String genPath;
/**
* 主键信息
*/
@TableField(exist = false)
private GenTableColumn pkColumn;
/**
* 表列信息
*/
@Valid
@TableField(exist = false)
private List<GenTableColumn> columns;
/**
* 其它生成选项
*/
private String options;
/**
* 备注
*/
private String remark;
/**
* 树编码字段
*/
@TableField(exist = false)
private String treeCode;
/**
* 树父编码字段
*/
@TableField(exist = false)
private String treeParentCode;
/**
* 树名称字段
*/
@TableField(exist = false)
private String treeName;
/*
* 菜单id列表
*/@TableField(exist = false)
private List<Long> menuIds;
/**
* 上级菜单ID字段
*/
@TableField(exist = false)
private String parentMenuId;
/**
* 上级菜单名称字段
*/
@TableField(exist = false)
private String parentMenuName;