Skip to content

Commit 832a7f9

Browse files
authored
Merge pull request #106 from moshowgame/3.1
3.1 OEM优化
2 parents 410679f + fcdd258 commit 832a7f9

File tree

15 files changed

+294
-90
lines changed

15 files changed

+294
-90
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
- 关于`类名注释`,可根据`comment=(mysql)`或者`comment on table(pgsql/oracle)`生成
3838
- 可设置是否`自动引包`(java中的import)及`引入包路径`(java类中的package),建议取消并配合IDEA的自动引包更智能(Settings→Editor→General→Auto Import,勾选Add unambiguous imports on the fly以及Optimize imports on the fly)。
3939
- 可设置`表名前缀`,例如sys_user前缀为sys_之后可以正确生成user类
40-
- 可切换`header.html`中的include文件为`header-local.html`(本地模式)/`header-CDN.html`(云CDN模式)
40+
- 可在`applicaltion.yml`中的`OEM.mode`设置`js/css引入模式``local`(本地模式,默认)/`CDN`(云CDN模式,在线网站推荐,省流量)
41+
- OEM信息可以在`applicaltion.yml`中的`OEM`中更改
4142

4243
# Url
4344

@@ -59,6 +60,7 @@ Thanks for `JetBrains` providing us the `Licenses for Open Source Development`
5960
# Update Logs
6061
|更新日期|更新内容|
6162
|:----|:----|
63+
|2021.01.18|OEM信息优化,支持多配置文件模式,支持在application*.yml自定义信息,以及切换local/cdn模式。|
6264
|2021.01.17|生成后自动trim掉前后空格输出。<br>完善ReadMe文档。<br>优化云CDN引入部分。<br>优化returnUtil部分。<br>表明前缀选项(感谢@wwlg的建议)。 <br>是否带字段注释设置(感谢@fengpojian的建议)。<br>优化Mybatis的''!=判断(感谢@zhongsb的建议)。<br>Mybatis-Plus增加Service层(感谢@yf466532479的建议)。 |
6365
|2021.01.16|全新3.0版本:<br>一、前端半vue半js化,更多动态加载项。<br>二、支持更多生成设置,优化生成场景。<br>三、js导入支持本地/CDN模式,支持断网环境轻松使用。|
6466
|2020.10.22|1.tinyint多加一个Short类型转换(感谢@wttHero的建议)|

generator-web/pom.xml

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77
<parent>
88
<groupId>com.softdev.system</groupId>
99
<artifactId>SpringBootCodeGenerator</artifactId>
10-
<version>2.0</version>
10+
<version>3.0</version>
1111
</parent>
12-
13-
<groupId>com.softdev.system</groupId>
12+
1413
<artifactId>generator-web</artifactId>
15-
<version>2.0</version>
14+
<version>3.0</version>
1615
<packaging>jar</packaging>
1716

1817
<properties>

generator-web/src/main/java/com/softdev/system/generator/controller/GeneratorController.java

+15-13
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,46 @@
11
package com.softdev.system.generator.controller;
22

3-
import com.alibaba.fastjson.JSON;
43
import com.softdev.system.generator.entity.ClassInfo;
54
import com.softdev.system.generator.entity.ParamInfo;
65
import com.softdev.system.generator.entity.ReturnT;
76
import com.softdev.system.generator.service.GeneratorService;
87
import com.softdev.system.generator.util.MapUtil;
98
import com.softdev.system.generator.util.TableParseUtil;
9+
import com.softdev.system.generator.util.ValueUtil;
1010
import lombok.extern.slf4j.Slf4j;
1111
import org.apache.commons.lang3.StringUtils;
1212
import org.springframework.beans.factory.annotation.Autowired;
1313
import org.springframework.stereotype.Controller;
1414
import org.springframework.web.bind.annotation.*;
15+
import org.springframework.web.servlet.ModelAndView;
1516

17+
import java.util.Date;
1618
import java.util.Map;
1719

1820
/**
19-
* spring boot code generator
20-
*
21-
* @author zhengk/moshow
21+
* 代码生成控制器
22+
* @author zhengkai.blog.csdn.net
2223
*/
2324
@Controller
2425
@Slf4j
2526
public class GeneratorController {
27+
@Autowired
28+
private ValueUtil valueUtil;
2629

2730
@Autowired
2831
private GeneratorService generatorService;
2932

3033
@GetMapping("/")
31-
public String defaultPage() {
32-
return "index";
34+
public ModelAndView defaultPage() {
35+
return new ModelAndView("index").addObject("value",valueUtil);
3336
}
3437
@GetMapping("/index")
35-
public String indexPage() {
36-
return "index";
38+
public ModelAndView indexPage() {
39+
return new ModelAndView("index").addObject("value",valueUtil);
3740
}
3841
@GetMapping("/main")
39-
public String mainPage() {
40-
return "main";
42+
public ModelAndView mainPage() {
43+
return new ModelAndView("main").addObject("value",valueUtil);
4144
}
4245

4346
@RequestMapping("/template/all")
@@ -49,8 +52,7 @@ public ReturnT getAllTemplates() throws Exception {
4952
@PostMapping("/code/generate")
5053
@ResponseBody
5154
public ReturnT generateCode(@RequestBody ParamInfo paramInfo) throws Exception {
52-
53-
log.info(JSON.toJSONString(paramInfo));
55+
//log.info(JSON.toJSONString(paramInfo.getOptions()));
5456
if (StringUtils.isEmpty(paramInfo.getTableSql())) {
5557
return ReturnT.error("表结构信息为空");
5658
}
@@ -82,7 +84,7 @@ public ReturnT generateCode(@RequestBody ParamInfo paramInfo) throws Exception {
8284

8385
//3.generate the code by freemarker templates with parameters . Freemarker根据参数和模板生成代码
8486
Map<String, String> result = generatorService.getResultByParams(paramInfo.getOptions());
85-
87+
log.info("table:{} - time:{} ", MapUtil.getString(result,"tableName"),new Date());
8688
return ReturnT.ok().put("outputJson",result);
8789
}
8890

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.softdev.system.generator.util;
2+
3+
import lombok.Data;
4+
import org.springframework.beans.factory.annotation.Value;
5+
import org.springframework.stereotype.Component;
6+
7+
/**
8+
* Get Value From Application.yml
9+
* @author zhengkai.blog.csdn.net
10+
*/
11+
@Data
12+
@Component
13+
public class ValueUtil {
14+
@Value("${OEM.title}")
15+
public String title;
16+
17+
@Value("${OEM.header}")
18+
public String header;
19+
20+
@Value("${OEM.version}")
21+
public String version;
22+
23+
@Value("${OEM.author}")
24+
public String author;
25+
26+
@Value("${OEM.keywords}")
27+
public String keywords;
28+
29+
@Value("${OEM.slogan}")
30+
public String slogan;
31+
32+
@Value("${OEM.copyright}")
33+
public String copyright;
34+
35+
@Value("${OEM.description}")
36+
public String description;
37+
38+
@Value("${OEM.packageName}")
39+
public String packageName;
40+
41+
@Value("${OEM.returnUtilSuccess}")
42+
public String returnUtilSuccess;
43+
44+
@Value("${OEM.returnUtilFailure}")
45+
public String returnUtilFailure;
46+
47+
@Value("${OEM.outputStr}")
48+
public String outputStr;
49+
50+
@Value("${OEM.mode}")
51+
public String mode;
52+
}
53+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
server:
2+
port: 1234
3+
servlet:
4+
context-path: /generator
5+
#tomcat:
6+
# remote-ip-header: x-forward-for
7+
# uri-encoding: UTF-8
8+
# max-threads: 10
9+
# background-processor-delay: 30
10+
# basedir: ${user.home}/tomcat/
11+
undertow:
12+
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
13+
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
14+
io-threads: 4
15+
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
16+
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
17+
worker-threads: 64
18+
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
19+
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
20+
buffer-size: 1024
21+
# 是否分配的直接内存(NIO直接分配的堆外内存)
22+
direct-buffers: true
23+
spring:
24+
banner:
25+
charset: UTF-8
26+
http:
27+
encoding:
28+
force: true
29+
charset: UTF-8
30+
application:
31+
name: spring-boot-code-generator
32+
freemarker:
33+
request-context-attribute: request
34+
suffix: .html
35+
content-type: text/html
36+
enabled: true
37+
cache: false
38+
charset: UTF-8
39+
allow-request-override: false
40+
expose-request-attributes: true
41+
expose-session-attributes: true
42+
expose-spring-macro-helpers: true
43+
settings:
44+
number_format: 0.##
45+
default_encoding: UTF-8
46+
#template_loader: /templates/
47+
#mvc:
48+
# static-path-pattern: /statics/**
49+
OEM:
50+
version: 3.1
51+
header: SQL转Java JPA、MYBATIS实现类代码生成平台
52+
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
53+
title: JAVA在线代码生成
54+
slogan: For reducing the repetitive CRUD work
55+
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
56+
author: BEJSON
57+
packageName: www.bejson.com
58+
copyright: powered by Moshow郑锴(大狼狗)
59+
returnUtilSuccess: ReturnT.success
60+
returnUtilFailure: ReturnT.error
61+
outputStr: www.bejson.com
62+
mode: CDN
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
server:
2+
port: 1234
3+
servlet:
4+
context-path: /generator
5+
#tomcat:
6+
# remote-ip-header: x-forward-for
7+
# uri-encoding: UTF-8
8+
# max-threads: 10
9+
# background-processor-delay: 30
10+
# basedir: ${user.home}/tomcat/
11+
undertow:
12+
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
13+
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
14+
io-threads: 4
15+
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
16+
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
17+
worker-threads: 64
18+
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
19+
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
20+
buffer-size: 1024
21+
# 是否分配的直接内存(NIO直接分配的堆外内存)
22+
direct-buffers: true
23+
spring:
24+
banner:
25+
charset: UTF-8
26+
http:
27+
encoding:
28+
force: true
29+
charset: UTF-8
30+
application:
31+
name: spring-boot-code-generator
32+
freemarker:
33+
request-context-attribute: request
34+
suffix: .html
35+
content-type: text/html
36+
enabled: true
37+
cache: false
38+
charset: UTF-8
39+
allow-request-override: false
40+
expose-request-attributes: true
41+
expose-session-attributes: true
42+
expose-spring-macro-helpers: true
43+
settings:
44+
number_format: 0.##
45+
default_encoding: UTF-8
46+
#template_loader: /templates/
47+
#mvc:
48+
# static-path-pattern: /statics/**
49+
OEM:
50+
version: 3.1
51+
header: SQL转Java JPA、MYBATIS实现类代码生成平台
52+
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
53+
title: JAVA代码生成平台
54+
slogan: For reducing the repetitive CRUD work
55+
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
56+
author: zhengkai.blog.csdn.net
57+
packageName: com.software.system
58+
copyright: powered by Moshow郑锴(大狼狗)
59+
returnUtilSuccess: ReturnT.success
60+
returnUtilFailure: ReturnT.error
61+
outputStr: zhengkai.blog.csdn.net
62+
mode: local
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
server:
2+
port: 1234
3+
servlet:
4+
context-path: /generator
5+
#tomcat:
6+
# remote-ip-header: x-forward-for
7+
# uri-encoding: UTF-8
8+
# max-threads: 10
9+
# background-processor-delay: 30
10+
# basedir: ${user.home}/tomcat/
11+
undertow:
12+
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
13+
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
14+
io-threads: 4
15+
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
16+
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
17+
worker-threads: 64
18+
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
19+
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
20+
buffer-size: 1024
21+
# 是否分配的直接内存(NIO直接分配的堆外内存)
22+
direct-buffers: true
23+
spring:
24+
banner:
25+
charset: UTF-8
26+
http:
27+
encoding:
28+
force: true
29+
charset: UTF-8
30+
application:
31+
name: spring-boot-code-generator
32+
freemarker:
33+
request-context-attribute: request
34+
suffix: .html
35+
content-type: text/html
36+
enabled: true
37+
cache: false
38+
charset: UTF-8
39+
allow-request-override: false
40+
expose-request-attributes: true
41+
expose-session-attributes: true
42+
expose-spring-macro-helpers: true
43+
settings:
44+
number_format: 0.##
45+
default_encoding: UTF-8
46+
#template_loader: /templates/
47+
#mvc:
48+
# static-path-pattern: /statics/**
49+
OEM:
50+
version: 3.1
51+
header: SQL转Java JPA、MYBATIS实现类代码生成平台
52+
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
53+
title: JAVA在线代码生成
54+
slogan: For reducing the repetitive CRUD work
55+
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
56+
author: devtools.cn
57+
packageName: www.devtools.cn
58+
copyright: powered by Moshow郑锴(大狼狗)
59+
returnUtilSuccess: ReturnT.success
60+
returnUtilFailure: ReturnT.error
61+
outputStr: devtools.cn
62+
mode: CDN

0 commit comments

Comments
 (0)