Skip to content

Commit 1828ee7

Browse files
committed
精简优化,阿里扫描符合规范
1 parent cfe2d5a commit 1828ee7

File tree

91 files changed

+148
-25588
lines changed

Some content is hidden

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

91 files changed

+148
-25588
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## SpringBootGenerator
1+
## ViewGenerator
22

33
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
44
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/wang926454/SpringBootGenerator/pulls)
@@ -17,7 +17,7 @@ SpringBoot1.5(第三版) | 可视化界面生成代码 | 当前
1717

1818
#### 项目介绍
1919

20-
SpringBootGenerator是一个基于SpringBoot & FreeMarker的自定义模板代码生成系统,用于快速构建中小型项目,稳定、简单、快速,使我们摆脱那些重复劳动,专注于业务代码的编写,能在短短几十秒钟内实现一套简单的基础代码(自动生成Model、Mapper、MapperXML、Service、ServiceImpl、Controller、JS、Vue等自定义模板代码)
20+
ViewGenerator是一个基于SpringBoot & FreeMarker的自定义模板代码生成系统,用于快速构建中小型项目,稳定、简单、快速,使我们摆脱那些重复劳动,专注于业务代码的编写,能在短短几十秒钟内实现一套简单的基础代码(自动生成Model、Mapper、MapperXML、Service、ServiceImpl、Controller、JS、Vue等自定义模板代码)
2121

2222
1. 可视化界面,上手操作简单
2323
2. 高度灵活的代码模板配置(提供两套模板参考),可以自行添加N套代码模板
@@ -43,19 +43,19 @@ SpringBoot + Mybatis + PageHelper + 通用Mapper + Thymeleaf(Amaze UI(布局) +
4343
```
4444
启动首页界面
4545
```
46-
![image text](https://docs.wang64.cn/Project/SpringBootGenerator/image/20190406001.png)
46+
![image text](https://docs.wang64.cn/Project/ViewGenerator/image/20190406001.png)
4747
```
4848
生成代码界面如下
4949
```
50-
![image text](https://docs.wang64.cn/Project/SpringBootGenerator/image/20190406002.png)
50+
![image text](https://docs.wang64.cn/Project/ViewGenerator/image/20190406002.png)
5151
```
5252
查看表详细信息界面如下
5353
```
54-
![image text](https://docs.wang64.cn/Project/SpringBootGenerator/image/20190406003.png)
54+
![image text](https://docs.wang64.cn/Project/ViewGenerator/image/20190406003.png)
5555
```
5656
配置更新界面如下
5757
```
58-
![image text](https://docs.wang64.cn/Project/SpringBootGenerator/image/20190406004.png)
58+
![image text](https://docs.wang64.cn/Project/ViewGenerator/image/20190406004.png)
5959

6060
#### 搭建参考
6161

pom.xml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
<modelVersion>4.0.0</modelVersion>
55

66
<groupId>com.example</groupId>
7-
<artifactId>SpringBootGenerator</artifactId>
7+
<artifactId>ViewGenerator</artifactId>
88
<version>0.0.1-SNAPSHOT</version>
99
<packaging>jar</packaging>
1010

11-
<name>SpringBootGenerator</name>
11+
<name>ViewGenerator</name>
1212
<description>Demo project for Spring Boot</description>
1313

1414
<parent>
@@ -33,6 +33,7 @@
3333
<commons-lang3.version>3.7</commons-lang3.version>
3434
<commons-io.version>2.5</commons-io.version>
3535
<antlr.version>3.2</antlr.version>
36+
<rapid.version>4.0.6</rapid.version>
3637
</properties>
3738

3839
<dependencies>
@@ -117,16 +118,16 @@
117118
<artifactId>freemarker</artifactId>
118119
<version>${freemarker.version}</version>
119120
</dependency>
121+
<dependency>
122+
<groupId>com.googlecode.rapid-framework</groupId>
123+
<artifactId>rapid-generator</artifactId>
124+
<version>${rapid.version}</version>
125+
</dependency>
120126
<!--<dependency>
121127
<groupId>org.mybatis.generator</groupId>
122128
<artifactId>mybatis-generator-maven-plugin</artifactId>
123129
<version>${generator.version}</version>
124130
</dependency>-->
125-
<dependency>
126-
<groupId>org.antlr</groupId>
127-
<artifactId>antlr</artifactId>
128-
<version>${antlr.version}</version>
129-
</dependency>
130131

131132
<!-- Guava工具包 -->
132133
<!--<dependency>

src/main/java/com/example/config/DbConfig.java renamed to src/main/java/com/example/config/DataBaseConfig.java

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.example.config;
22

3+
import com.example.constant.DataBaseEnum;
34
import com.example.dao.*;
45
import org.springframework.beans.factory.annotation.Autowired;
56
import org.springframework.beans.factory.annotation.Value;
@@ -13,42 +14,22 @@
1314
* @date 2019/4/5 17:56
1415
*/
1516
@Configuration
16-
public class DbConfig {
17+
public class DataBaseConfig {
1718

18-
/**
19-
* MYSQL
20-
*/
21-
private static final String MYSQL = "mysql";
22-
23-
/**
24-
* ORACLE
25-
*/
26-
private static final String ORACLE = "oracle";
27-
28-
/**
29-
* POSTGRESQL
30-
*/
31-
private static final String POSTGRESQL = "postgresql";
32-
33-
/**
34-
* SQLSERVER
35-
*/
36-
private static final String SQLSERVER = "sqlserver";
37-
38-
@Value("${jdbc.driver}")
19+
@Value("${jdbc_driver}")
3920
private String driver;
4021

4122
@Autowired
42-
private MySQLGeneratorDao mySQLGeneratorDao;
23+
private MySqlGeneratorDao mySqlGeneratorDao;
4324

4425
@Autowired
4526
private OracleGeneratorDao oracleGeneratorDao;
4627

4728
@Autowired
48-
private PostgreSQLGeneratorDao postgreSQLGeneratorDao;
29+
private PostgreSqlGeneratorDao postgreSqlGeneratorDao;
4930

5031
@Autowired
51-
private SQLServerGeneratorDao sqlServerGeneratorDao;
32+
private SqlServerGeneratorDao sqlServerGeneratorDao;
5233

5334
/**
5435
* 根据驱动判断注入那个类型数据库
@@ -61,13 +42,14 @@ public class DbConfig {
6142
@Bean
6243
@Primary
6344
public GeneratorDao getGeneratorDao() {
64-
if(driver.indexOf(MYSQL) > 0) {
65-
return mySQLGeneratorDao;
66-
} else if (driver.indexOf(ORACLE) > 0) {
45+
String str = DataBaseEnum.MYSQL.getValue();
46+
if(driver.indexOf(DataBaseEnum.MYSQL.getValue()) > 0) {
47+
return mySqlGeneratorDao;
48+
} else if (driver.indexOf(DataBaseEnum.ORACLE.getValue()) > 0) {
6749
return oracleGeneratorDao;
68-
} else if (driver.indexOf(POSTGRESQL) > 0) {
69-
return postgreSQLGeneratorDao;
70-
} else if (driver.indexOf(SQLSERVER) > 0) {
50+
} else if (driver.indexOf(DataBaseEnum.POSTGRESQL.getValue()) > 0) {
51+
return postgreSqlGeneratorDao;
52+
} else if (driver.indexOf(DataBaseEnum.SQLSERVER.getValue()) > 0) {
7153
return sqlServerGeneratorDao;
7254
}
7355
return null;

src/main/java/com/example/config/WebMvcConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@
1111
*/
1212
@Configuration
1313
public class WebMvcConfig extends WebMvcConfigurerAdapter {
14+
1415
@Override
1516
public void addCorsMappings(CorsRegistry registry) {
1617
registry.addMapping("/**").allowedOrigins("*")
1718
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
1819
.allowCredentials(false).maxAge(3600);
1920
}
21+
2022
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.example.constant;
2+
3+
/**
4+
* Constant
5+
* @author Wang926454
6+
* @date 2019/4/6 19:50
7+
*/
8+
public interface Constant {
9+
10+
/**
11+
* 项目在硬盘上的基础路径
12+
*/
13+
String PROJECT_PATH = System.getProperty("user.dir");
14+
15+
/**
16+
* 冒号
17+
*/
18+
String COLON = ":";
19+
20+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.example.constant;
2+
3+
/**
4+
* 数据库类型
5+
* @author Wang926454
6+
* @date 2019/4/6 19:53
7+
*/
8+
public enum DataBaseEnum {
9+
/**
10+
* MYSQL
11+
*/
12+
MYSQL("mysql"),
13+
/**
14+
* ORACLE
15+
*/
16+
ORACLE("oracle"),
17+
/**
18+
* POSTGRESQL
19+
*/
20+
POSTGRESQL("postgresql"),
21+
/**
22+
* SQLSERVER
23+
*/
24+
SQLSERVER("sqlserver");
25+
26+
private String value;
27+
28+
DataBaseEnum(String type) {
29+
value = type;
30+
}
31+
32+
public String getValue() {
33+
return value;
34+
}
35+
36+
}

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

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@
55
*/
66
package com.example.controller;
77

8+
import cn.org.rapid_framework.generator.Generator;
9+
import cn.org.rapid_framework.generator.GeneratorFacade;
10+
import cn.org.rapid_framework.generator.GeneratorProperties;
11+
import com.example.constant.Constant;
812
import com.example.dao.GeneratorDao;
913
import com.example.exception.SystemException;
1014
import com.example.util.SafeProperties;
1115
import com.example.util.ZipUtil;
12-
import com.uframe.generator.GeneratorFacade;
16+
import com.generator.CustomGeneratorFacade;
1317
import org.apache.commons.io.FileUtils;
1418
import org.apache.commons.io.IOUtils;
1519
import org.springframework.beans.factory.annotation.Value;
@@ -38,11 +42,6 @@
3842
@RequestMapping("database")
3943
public class DataBaseController {
4044

41-
/**
42-
* 项目在硬盘上的基础路径
43-
*/
44-
private static final String PROJECT_PATH = System.getProperty("user.dir");
45-
4645
/**
4746
* 代码生成的文件输出路径
4847
*/
@@ -134,10 +133,16 @@ public ResponseBean open() {
134133
* @date 2019-04-05 18:00:26
135134
*/
136135
@PostMapping("/{tableName}")
137-
public ResponseBean genTable(@PathVariable("tableName") String tableName) {
136+
public ResponseBean genTable(@PathVariable("tableName") String tableName) throws IOException {
138137
// 配置表名
139138
String[] tableNames = tableName.split("-");
140-
if (genCode(tableNames, null)) {
139+
if (outRoot == null) {
140+
throw new IllegalArgumentException("outRootDir must be not null");
141+
} else if (outRoot.indexOf(Constant.COLON) < 0) {
142+
// 项目在硬盘上的基础路径
143+
outRoot = System.getProperty("user.dir") + outRoot;
144+
}
145+
if (genCode(tableNames, outRoot)) {
141146
System.out.println("----- 生成成功 -----");
142147
// 获得系统属性集
143148
Properties props = System.getProperties();
@@ -199,24 +204,20 @@ public void genTableToZip(@PathVariable("tableName") String tableName,
199204
* 通过表名称生成代码
200205
* @param tableNames
201206
*/
202-
public boolean genCode(String[] tableNames, String outRootDir) {
203-
// GeneratorFacade
204-
GeneratorFacade generatorFacade = null;
205-
if (outRootDir == null) {
206-
generatorFacade = new GeneratorFacade();
207-
} else {
208-
generatorFacade = new GeneratorFacade(outRootDir);
209-
}
207+
public boolean genCode(String[] tableNames, String outRootDir) throws IOException {
208+
GeneratorFacade generatorFacade = new CustomGeneratorFacade(outRootDir);
209+
// 配置信息
210+
GeneratorProperties.load(new String[]{ "classpath:config/generator.properties" });
211+
// 模板位置
212+
Generator generator = generatorFacade.getGenerator();
213+
generator.addTemplateRootDir(Constant.PROJECT_PATH + template);
210214
// 开始执行
211215
try {
212216
for (String tableName : tableNames) {
213-
// 有设置输出路径说明为临时路径,不需要旧删除文件
214-
if (outRootDir == null) {
215-
// 删除旧文件
216-
generatorFacade.deleteByTable(tableName, PROJECT_PATH + template);
217-
}
217+
// 删除旧文件
218+
generatorFacade.deleteByTable(tableName);
218219
// 生成新文件
219-
generatorFacade.generateByTable(tableName, PROJECT_PATH + template);
220+
generatorFacade.generateByTable(tableName);
220221
}
221222
} catch (Exception e) {
222223
System.out.println("----- 生成失败 请检查数据库是否连接正常及表名是否正确以及权限是否缺失 -----");

src/main/java/com/example/dao/MySQLGeneratorDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
* @date 2019/4/5 17:53
99
*/
1010
@Repository
11-
public interface MySQLGeneratorDao extends GeneratorDao {
11+
public interface MySqlGeneratorDao extends GeneratorDao {
1212

1313
}

src/main/java/com/example/dao/PostgreSQLGeneratorDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
* @date 2019/4/5 18:21
99
*/
1010
@Repository
11-
public interface PostgreSQLGeneratorDao extends GeneratorDao {
11+
public interface PostgreSqlGeneratorDao extends GeneratorDao {
1212

1313
}

src/main/java/com/example/dao/SQLServerGeneratorDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
* @date 2019/4/5 18:22
99
*/
1010
@Repository
11-
public interface SQLServerGeneratorDao extends GeneratorDao {
11+
public interface SqlServerGeneratorDao extends GeneratorDao {
1212

1313
}

0 commit comments

Comments
 (0)