# redstars-generate
**Repository Path**: hlz/redstars-generate
## Basic Information
- **Project Name**: redstars-generate
- **Description**: 基于freemarker模板的代码生成器,可自主更换模板内容
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2024-08-02
- **Last Updated**: 2024-08-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
基于SpringBoot+Vue前后端分离的代码生成框架
#### 介绍
redstars-generate是一套可以随意更改代码模板,随心选择结构的代码生成器。
* 前端采用Vue3、Element UI、ts。
* 后端采用Spring Boot
特别鸣谢:[Ruoyi-vue](https://gitee.com/y_project/RuoYi-Vue),[ maku-generator](https://gitee.com/makunet/maku-generator)
#### 内置功能
1. 代码生成:该功能主要是完成导入其他数据库表和代码生成、预览功能。
2. 数据源管理:该功能主要是完成数据源配置,以便于在代码生成中导入表结构。
3. 字段类型映射:该功能主要是配置java字段类型和数据库之前的映射关系。
4. 基类管理:该功能主要是配置通用的字段,便于复用。
5. 模板管理:该功能主要是编写代码模板。
6. 项目配置:该功能主要是配置生成代码前的系统默认配置包括包名、模块名、表结构等功能。
#### 项目特点
1. 支持spring boot starter,能很方便集成到第三方项目
2. 支持通过配置数据源,快速生成CRUD代码,减少重复工作
3. 支持在线预览、一键复制代码,在线验证代码模板正确性等功能。
4. 支持更改生成代码结构以及同步表结构等功能
#### 安装教程
#### 准备工作
```json
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Maven >= 3.0
Node >= 12
pnmp >=7.27
```
#### 运行
1.后端
```java
1. 通过git下载项目,并导入
2. 创建数据库redstars_generator,数据库编码为utf8mb4,执行db/base.sql文件,初始化数据
3. 修改application.yml,更新MySQL账号和密码、数据库名称
4 运行GeneratorApplication.java,则可启动后端项目
```
2.前端
```js
1.进入generate-ui目录,执行pnpm install初始化项目
2.执行pnpm run dev 运行项目
```
3.进入系统,配置系统默认配置
```js
1.进入项目配置菜单,更改作者、包名等默认配置
2.进入数据源管理,配置数据源连接
```
4.生成代码
```
1.进入生成代码菜单,点击导入,选择要生成代码的表结构
2.在该菜单中的页面可以预览生成代码,也可点击生成代码按钮以后打包到本地
```
#### 系统内置模板变量说明
```
${dbType} 数据库类型
${package} 项目包名
${packagePath} 项目包名的文件路径(将包名的.替换成/)
${moduleName} 模块名称
${ModuleName} 模块名称(首字符大写)
${functionName} 功能名称
${FunctionName} 功能名称(首字符大写)
${backendPath} 后端路径-自定义路径使用
${frontendPath} 前端路径-自定义路径使用
${author} 作者
${datetime} 当前时间,格式yyyy-MM-dd HH:mm:ss
${date} 日期,格式:yyyy-MM-dd
${tableName} 数据表名
${subTableList}子表集合
${tableComment}数据表注释
${ClassName} java类名,首字符大写
${className} java类名,首字符小写
${fieldList} 数据表中字段集合(字段基础信息包含字段注释),单条记录:autoFill(INSERT,INSERT_UPDATE,UPDATE)自动填充,attrType属性类型,attrName属性名称,fieldComment字段说明,
${baseClass} 类名
${importList} java导入包名集合
${primaryList} 数据表主键集合
${formList} 表单中字段集合
${gridList} 前端列表(表格)数据集合 单条记录field{formDict数据字典类型,fieldComment字段说明,
attrName字段属性名,queryType查询方式(like,left like,right like,=,!=,>,>=,<,<=),queryFormType查询表单类型(text,textarea,editor,select,radio,checkbox,date,datetime)}
plusQueryType转换成wrapper的查询方式(like,likeLeft,likeRight,eq,ne,gt,ge,lt,le)
${queryList} 前端列表查询数据集合 单条记录field{}
${formList} 前端表单(新增/编辑)数据集合,单条记录field{fieldComment字段说明,attrName字段属性名,dictName数据字典类型,formRequired必填,formType表单类型(text,textarea,editor,select,radio,checkbox,date,datetime)}
```
#### 效果图







