代码拉取完成,页面将自动刷新
通过配置数据库信息,自动生成包含CRUD操作的spring工程。
JDK: 8+
在根目录下运行打包命令:
./gradlew clean shadowJar
运行命令后,fatJar在目录build/libs目录下
shirleylee@Shirley codeGenerator % ./gradlew clean shadowJar
Starting a Gradle Daemon, 1 busy and 1 stopped Daemons could not be reused, use --status for details
BUILD SUCCESSFUL in 11s
4 actionable tasks: 3 executed, 1 up-to-date
shirleylee@Shirley codeGenerator % ls -lh build/libs
total 17408
-rw-r--r--@ 1 shirleylee staff 7.8M Sep 2 21:22 codeGenerator-1.0-SNAPSHOT-all.jar
generator.yaml
, 可以参考src/main/resources/generator.yaml
, 配置说明如下:author: Shirley
#### 代码生成路径
path: .\code
#### 工程名称
projectName: testCodeGen
#### project group/ 包路径
packageName: com.pcitc.open
#### 是否覆盖已存在文件
fileOverride: true
#### 数据库配置。当前只支持mysql。
db:
url: jdbc:mysql://192.168.246.129:13306/db_hr_0
username: rw_user
password: rw123456
#### 数据库table列表
tables:
- t_employee
- t_salary
- t_sub_company
当前配置只支持mysql。如果是其他关系型数据库,请自行修改
build.gradle
文件中的数据库依赖包,用于codeGenerator链接数据库src/main/resources/ftls/build.gradle.ftl
模板中的数据库依赖src/main/resources/ftls/application.yaml.ftl
模板中的配置项:spring.datasource.driver-class-name
generator.yaml
拷贝到codeGenerator-1.0-SNAPSHOT-all.jar
同目录下PS D:\Workspace\shirley\codeGenerator\build\libs> java -jar .\codeGenerator-1.0-SNAPSHOT-all.jar
Hello Shirley!
directory.getAbsolutePath() = D:\Workspace\shirley\codeGenerator\build\libs\generator.yaml
CodeGenConfig(author=Shirley, path=.\code, projectName=testCodeGen, packageName=com.pcitc.open, fileOverride=true, db=CodeGenConfig.Db(url=jdbc:mysql://192.168.246.129:13306/db_hr_0, username=rw_user, password=rw123456), tables=[t_employee, t_salary, t_sub_company])
... ...
Generating .\code\testCodeGen\src\main\java\com\pcitc\open\entity\Employee.java
Generate java code to Path: .\code done.
代码生成完成,下面可以愉快的使用生成的代码了。如下是生成代码的目录结构:
PS D:\Workspace\shirley\codeGenerator\build\libs\code> tree .\testCodeGen\ /F
Folder PATH listing
Volume serial number is 3C06-2571
D:\WORKSPACE\SHIRLEY\CODEGENERATOR\BUILD\LIBS\CODE\TESTCODEGEN
│ .gitignore
│ build.gradle
│ gradlew
│ gradlew.bat
│ settings.gradle
│
├─gradle
│ └─wrapper
│ gradle-wrapper.jar
│ gradle-wrapper.properties
│
└─src
└─main
├─java
│ └─com
│ └─pcitc
│ └─open
│ │ ApplicationStarter.java
│ │
│ ├─controller
│ │ BaseController.java
│ │ EmployeeController.java
│ │ SalaryController.java
│ │ SubCompanyController.java
│ │
│ ├─dao
│ │ BaseDao.java
│ │ EmployeeDao.java
│ │ SalaryDao.java
│ │ SubCompanyDao.java
│ │
│ ├─entity
│ │ Employee.java
│ │ Salary.java
│ │ SubCompany.java
│ │
│ └─service
│ │ CrudService.java
│ │ EmployeeService.java
│ │ SalaryService.java
│ │ SubCompanyService.java
│ │
│ └─impl
│ CrudServiceImpl.java
│ EmployeeServiceImpl.java
│ SalaryServiceImpl.java
│ SubCompanyServiceImpl.java
│
└─resources
application.yaml
如果不想用代码里定义的模板,可以自定义模板生成代码。
src\main\resources\ftls
,可以将期望的模板添加到该路径com.shirley.constants.TemplateFileEnum
代码,添加模板信息com.shirley.Main
中genCommonCode
或genTableCode
函数,将添加的模板类型添加到GenJavaCodeTask的参数里。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。