Skip to content

Commit 1c01acf

Browse files
committed
添加Test类生成代码
1 parent a66b665 commit 1c01acf

File tree

4 files changed

+82
-3
lines changed

4 files changed

+82
-3
lines changed

src/main/java/com/example/controller/DataBaseController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ public void genTableToZip(@PathVariable("tableName") String tableName,
204204
* 通过表名称生成代码
205205
* @param tableNames
206206
*/
207-
public boolean genCode(String[] tableNames, String outRootDir) throws IOException {
208-
GeneratorFacade generatorFacade = new CustomGeneratorFacade(outRootDir);
207+
public boolean genCode(String[] tableNames, String outRoot) throws IOException {
208+
GeneratorFacade generatorFacade = new CustomGeneratorFacade(outRoot);
209209
// 配置信息
210210
GeneratorProperties.load(new String[]{ "classpath:config/generator.properties" });
211211
// 模板位置

src/main/java/com/generator/CustomGeneratorFacade.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
*/
1111
public class CustomGeneratorFacade extends GeneratorFacade {
1212

13+
/**
14+
* CustomGeneratorFacade
15+
* @param outRootDir
16+
* @author Wang926454
17+
* @date 2019/4/8 9:27
18+
*/
1319
public CustomGeneratorFacade(String outRootDir) {
1420
if (StringHelper.isNotBlank(outRootDir)) {
1521
super.getGenerator().setOutRootDir(outRootDir);
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package com.example.generator;
2+
3+
import cn.org.rapid_framework.generator.Generator;
4+
import cn.org.rapid_framework.generator.GeneratorFacade;
5+
import cn.org.rapid_framework.generator.GeneratorProperties;
6+
import com.example.base.BaseTest;
7+
import com.generator.CustomGeneratorFacade;
8+
9+
/**
10+
* Test类生成代码
11+
* @author Wang926454
12+
* @date 2019/04/08 09:21
13+
*/
14+
public class GeneratorCode extends BaseTest {
15+
16+
/**
17+
* 项目在硬盘上的基础路径
18+
*/
19+
private static final String PROJECT_PATH = System.getProperty("user.dir");
20+
21+
/**
22+
* 生成代码板位置
23+
*/
24+
private static final String OUT_ROOT = "E:/work/outRoot";
25+
26+
/**
27+
* 配置文件位置
28+
*/
29+
private static final String CONFIG_PATH = PROJECT_PATH + "/src/main/resources/config/generator.properties";
30+
31+
/**
32+
* 代码模板位置
33+
*/
34+
private static final String TEMPLATE_FILE_PATH = PROJECT_PATH + "/src/main/resources/template/two/RESTful";
35+
36+
/**
37+
* 有三点需要引起特别的注意
38+
* (1)数据库连接必须配置
39+
* (2)表无主键,无法生成
40+
* (3)外键关联的表无读权限,无法生成
41+
*/
42+
public static void main(String[] args) throws Exception {
43+
// 配置表名
44+
genCode("t_gen_user", "role");
45+
}
46+
47+
/**
48+
* 通过表名称生成代码
49+
* @param tableNames
50+
*/
51+
public static void genCode(String... tableNames) throws Exception {
52+
// GeneratorFacade
53+
GeneratorFacade generatorFacade = new CustomGeneratorFacade(OUT_ROOT);
54+
// 配置信息
55+
GeneratorProperties.load(new String[]{ CONFIG_PATH });
56+
// 模板位置
57+
Generator generator = generatorFacade.getGenerator();
58+
generator.addTemplateRootDir(TEMPLATE_FILE_PATH);
59+
// 开始执行
60+
try {
61+
for (String tableName : tableNames) {
62+
// 删除旧文件
63+
generatorFacade.deleteByTable(tableName);
64+
// 生成新文件
65+
generatorFacade.generateByTable(tableName);
66+
}
67+
// 打开文件夹
68+
Runtime.getRuntime().exec("cmd.exe /c start " + OUT_ROOT);
69+
} catch (Exception e) {
70+
System.out.println("----- 生成失败 请检查数据库是否连接正常及表名是否正确以及权限是否缺失 -----");
71+
e.printStackTrace();
72+
}
73+
}
74+
}

src/test/java/com/example/test/TestSafeProperties.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.example.test;
22

3-
import cn.org.rapid_framework.generator.GeneratorProperties;
43
import com.example.base.BaseTest;
54
import com.example.util.SafeProperties;
65
import org.junit.Test;

0 commit comments

Comments
 (0)