Skip to content

Commit 35cc656

Browse files
committed
更新代码生成2.0
1 parent f0c0a0e commit 35cc656

File tree

104 files changed

+27475
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+27475
-8
lines changed

pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<generator.version>1.3.6</generator.version>
3232
<guava.version>23.0</guava.version>
3333
<commons-lang3.version>3.7</commons-lang3.version>
34+
<antlr.version>3.2</antlr.version>
3435
</properties>
3536

3637
<dependencies>
@@ -111,6 +112,12 @@
111112
<version>${generator.version}</version>
112113
<scope>test</scope>
113114
</dependency>
115+
<dependency>
116+
<groupId>org.antlr</groupId>
117+
<artifactId>antlr</artifactId>
118+
<version>${antlr.version}</version>
119+
<scope>test</scope>
120+
</dependency>
114121

115122
<!-- Guava工具包 -->
116123
<dependency>

src/test/java/com/example/generator/CodeGenerator.java renamed to src/test/java/com/example/generator/CodeGeneratorOne.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import java.util.*;
1616

1717
/**
18-
* 代码生成(根据表生成对应的Model、Mapper、Service、Controller)
18+
* 代码生成1.0(根据表生成对应的Model、Mapper、Service、Controller)(推荐使用2.0)
1919
*/
20-
public class CodeGenerator {
20+
public class CodeGeneratorOne {
2121
// Controller生成类型 REST POST
2222
private static final String CONTROLLER_TYPE = "REST";
2323

@@ -45,7 +45,7 @@ public class CodeGenerator {
4545
// 项目在硬盘上的基础路径
4646
private static final String PROJECT_PATH = System.getProperty("user.dir");
4747
// 模板位置
48-
private static final String TEMPLATE_FILE_PATH = PROJECT_PATH + "/src/test/resources/template";
48+
private static final String TEMPLATE_FILE_PATH = PROJECT_PATH + "/src/test/resources/template/one";
4949
// Java文件路径
5050
private static final String JAVA_PATH = "/src/main/java";
5151
// 资源文件路径
@@ -58,7 +58,7 @@ public class CodeGenerator {
5858
private static final String PACKAGE_PATH_CONTROLLER = packageConvertPath(CONTROLLER_PACKAGE);
5959

6060
// 作者
61-
private static final String AUTHOR = "CodeGenerator";
61+
private static final String AUTHOR = "CodeGeneratorOne";
6262
// 时间
6363
private static final String DATE = new SimpleDateFormat("yyyy/MM/dd HH:ss").format(new Date());
6464

@@ -233,7 +233,6 @@ public static void genController(String tableName, String modelName) {
233233
} catch (Exception e) {
234234
throw new RuntimeException("生成Controller失败(请检查数据库是否连接正常及表名是否正确以及权限是否缺失)", e);
235235
}
236-
237236
}
238237

239238
private static freemarker.template.Configuration getConfiguration() throws IOException {
@@ -250,7 +249,6 @@ private static String tableNameConvertLowerCamel(String tableName) {
250249

251250
private static String tableNameConvertUpperCamel(String tableName) {
252251
return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, tableName.toLowerCase());
253-
254252
}
255253

256254
private static String tableNameConvertMappingPath(String tableName) {
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.example.generator;
2+
3+
import com.uframe.generator.Generator;
4+
import com.uframe.generator.GeneratorFacade;
5+
import com.uframe.generator.GeneratorProperties;
6+
7+
/**
8+
* 代码生成2.0(根据表生成对应模板的的Model、Mapper、Service、Controller、JS、JSP)
9+
* @author Wang926454
10+
* @date 2019/4/1 18:38
11+
*/
12+
public class CodeGeneratorTwo {
13+
14+
/**
15+
* 项目在硬盘上的基础路径
16+
*/
17+
private static final String PROJECT_PATH = System.getProperty("user.dir");
18+
/**
19+
* 生成代码模板位置
20+
*/
21+
private static final String TEMPLATE_FILE_PATH = PROJECT_PATH + "/src/test/resources/template/two/LayUI";
22+
23+
/**
24+
* 有三点需要引起特别的注意
25+
* (1)数据库连接必须配置
26+
* (2)表无主键,无法生成
27+
* (3)外键关联的表无读权限,无法生成
28+
*/
29+
public static void main(String[] args) throws Exception {
30+
// 配置表名
31+
genCode("user", "role", "permission");
32+
}
33+
34+
/**
35+
* 通过表名称生成代码,Model名称通过解析数据表名称获得,下划线转大驼峰的形式
36+
* @param tableNames 表名称...
37+
*/
38+
public static void genCode(String... tableNames) {
39+
// GeneratorFacade
40+
GeneratorFacade generatorFacade = new GeneratorFacade();
41+
// 开始执行
42+
try {
43+
for (String tableName : tableNames) {
44+
// 删除旧文件
45+
generatorFacade.deleteByTable(tableName, TEMPLATE_FILE_PATH);
46+
// 生成新文件
47+
generatorFacade.generateByTable(tableName, TEMPLATE_FILE_PATH);
48+
}
49+
System.out.println("----- 生成成功 -----");
50+
// 打开生成目录
51+
// Runtime.getRuntime().exec("cmd.exe /c start " + GeneratorProperties.getRequiredProperty("outRoot"));
52+
Runtime.getRuntime().exec("cmd.exe /c start " + Generator.getOutRootDir());
53+
} catch (Exception e) {
54+
System.out.println("----- 生成失败 请检查数据库是否连接正常及表名是否正确以及权限是否缺失 -----");
55+
e.printStackTrace();
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)