Skip to content

项目地址

一、新建项目

在菜单栏-项目管理新建项目 相关参数说明

参数名说明
项目名称-
数据库类型目前支持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

Pasted image 20240826092953.png

二、模板管理

Pasted image 20240826093751.png

参数名说明
模板内容具体的模板内容
模板名称格式示例 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:生成路径为 表配置生成业务名 + 生成文件路径参数

以下是表配置内容 Pasted image 20240826095521.pngPasted image 20240826095533.png

三、模板内容说明

  1. 具体模板语法可参考velocity官网
  2. 表配置对应参数说明
| 用法 | 配置内容 |
| --- | --- |
| ${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;