Skip to content

Commit

Permalink
Merge pull request #106 from moshowgame/3.1
Browse files Browse the repository at this point in the history
3.1 OEM优化
  • Loading branch information
moshowgame committed Jan 17, 2021
2 parents 410679f + fcdd258 commit 832a7f9
Show file tree
Hide file tree
Showing 15 changed files with 294 additions and 90 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
- 关于`类名注释`,可根据`comment=(mysql)`或者`comment on table(pgsql/oracle)`生成
- 可设置是否`自动引包`(java中的import)及`引入包路径`(java类中的package),建议取消并配合IDEA的自动引包更智能(Settings→Editor→General→Auto Import,勾选Add unambiguous imports on the fly以及Optimize imports on the fly)。
- 可设置`表名前缀`,例如sys_user前缀为sys_之后可以正确生成user类
- 可切换`header.html`中的include文件为`header-local.html`(本地模式)/`header-CDN.html`(云CDN模式)
- 可在`applicaltion.yml`中的`OEM.mode`设置`js/css引入模式``local`(本地模式,默认)/`CDN`(云CDN模式,在线网站推荐,省流量)
- OEM信息可以在`applicaltion.yml`中的`OEM`中更改

# Url

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

<groupId>com.softdev.system</groupId>

<artifactId>generator-web</artifactId>
<version>2.0</version>
<version>3.0</version>
<packaging>jar</packaging>

<properties>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,46 @@
package com.softdev.system.generator.controller;

import com.alibaba.fastjson.JSON;
import com.softdev.system.generator.entity.ClassInfo;
import com.softdev.system.generator.entity.ParamInfo;
import com.softdev.system.generator.entity.ReturnT;
import com.softdev.system.generator.service.GeneratorService;
import com.softdev.system.generator.util.MapUtil;
import com.softdev.system.generator.util.TableParseUtil;
import com.softdev.system.generator.util.ValueUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import java.util.Date;
import java.util.Map;

/**
* spring boot code generator
*
* @author zhengk/moshow
* 代码生成控制器
* @author zhengkai.blog.csdn.net
*/
@Controller
@Slf4j
public class GeneratorController {
@Autowired
private ValueUtil valueUtil;

@Autowired
private GeneratorService generatorService;

@GetMapping("/")
public String defaultPage() {
return "index";
public ModelAndView defaultPage() {
return new ModelAndView("index").addObject("value",valueUtil);
}
@GetMapping("/index")
public String indexPage() {
return "index";
public ModelAndView indexPage() {
return new ModelAndView("index").addObject("value",valueUtil);
}
@GetMapping("/main")
public String mainPage() {
return "main";
public ModelAndView mainPage() {
return new ModelAndView("main").addObject("value",valueUtil);
}

@RequestMapping("/template/all")
Expand All @@ -49,8 +52,7 @@ public ReturnT getAllTemplates() throws Exception {
@PostMapping("/code/generate")
@ResponseBody
public ReturnT generateCode(@RequestBody ParamInfo paramInfo) throws Exception {

log.info(JSON.toJSONString(paramInfo));
//log.info(JSON.toJSONString(paramInfo.getOptions()));
if (StringUtils.isEmpty(paramInfo.getTableSql())) {
return ReturnT.error("表结构信息为空");
}
Expand Down Expand Up @@ -82,7 +84,7 @@ public ReturnT generateCode(@RequestBody ParamInfo paramInfo) throws Exception {

//3.generate the code by freemarker templates with parameters . Freemarker根据参数和模板生成代码
Map<String, String> result = generatorService.getResultByParams(paramInfo.getOptions());

log.info("table:{} - time:{} ", MapUtil.getString(result,"tableName"),new Date());
return ReturnT.ok().put("outputJson",result);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.softdev.system.generator.util;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
* Get Value From Application.yml
* @author zhengkai.blog.csdn.net
*/
@Data
@Component
public class ValueUtil {
@Value("${OEM.title}")
public String title;

@Value("${OEM.header}")
public String header;

@Value("${OEM.version}")
public String version;

@Value("${OEM.author}")
public String author;

@Value("${OEM.keywords}")
public String keywords;

@Value("${OEM.slogan}")
public String slogan;

@Value("${OEM.copyright}")
public String copyright;

@Value("${OEM.description}")
public String description;

@Value("${OEM.packageName}")
public String packageName;

@Value("${OEM.returnUtilSuccess}")
public String returnUtilSuccess;

@Value("${OEM.returnUtilFailure}")
public String returnUtilFailure;

@Value("${OEM.outputStr}")
public String outputStr;

@Value("${OEM.mode}")
public String mode;
}

62 changes: 62 additions & 0 deletions generator-web/src/main/resources/application-bejson.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
server:
port: 1234
servlet:
context-path: /generator
#tomcat:
# remote-ip-header: x-forward-for
# uri-encoding: UTF-8
# max-threads: 10
# background-processor-delay: 30
# basedir: ${user.home}/tomcat/
undertow:
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
io-threads: 4
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
worker-threads: 64
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
buffer-size: 1024
# 是否分配的直接内存(NIO直接分配的堆外内存)
direct-buffers: true
spring:
banner:
charset: UTF-8
http:
encoding:
force: true
charset: UTF-8
application:
name: spring-boot-code-generator
freemarker:
request-context-attribute: request
suffix: .html
content-type: text/html
enabled: true
cache: false
charset: UTF-8
allow-request-override: false
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
settings:
number_format: 0.##
default_encoding: UTF-8
#template_loader: /templates/
#mvc:
# static-path-pattern: /statics/**
OEM:
version: 3.1
header: SQL转Java JPA、MYBATIS实现类代码生成平台
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
title: JAVA在线代码生成
slogan: For reducing the repetitive CRUD work
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
author: BEJSON
packageName: www.bejson.com
copyright: powered by Moshow郑锴(大狼狗)
returnUtilSuccess: ReturnT.success
returnUtilFailure: ReturnT.error
outputStr: www.bejson.com
mode: CDN
62 changes: 62 additions & 0 deletions generator-web/src/main/resources/application-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
server:
port: 1234
servlet:
context-path: /generator
#tomcat:
# remote-ip-header: x-forward-for
# uri-encoding: UTF-8
# max-threads: 10
# background-processor-delay: 30
# basedir: ${user.home}/tomcat/
undertow:
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
io-threads: 4
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
worker-threads: 64
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
buffer-size: 1024
# 是否分配的直接内存(NIO直接分配的堆外内存)
direct-buffers: true
spring:
banner:
charset: UTF-8
http:
encoding:
force: true
charset: UTF-8
application:
name: spring-boot-code-generator
freemarker:
request-context-attribute: request
suffix: .html
content-type: text/html
enabled: true
cache: false
charset: UTF-8
allow-request-override: false
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
settings:
number_format: 0.##
default_encoding: UTF-8
#template_loader: /templates/
#mvc:
# static-path-pattern: /statics/**
OEM:
version: 3.1
header: SQL转Java JPA、MYBATIS实现类代码生成平台
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
title: JAVA代码生成平台
slogan: For reducing the repetitive CRUD work
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
author: zhengkai.blog.csdn.net
packageName: com.software.system
copyright: powered by Moshow郑锴(大狼狗)
returnUtilSuccess: ReturnT.success
returnUtilFailure: ReturnT.error
outputStr: zhengkai.blog.csdn.net
mode: local
62 changes: 62 additions & 0 deletions generator-web/src/main/resources/application-devtools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
server:
port: 1234
servlet:
context-path: /generator
#tomcat:
# remote-ip-header: x-forward-for
# uri-encoding: UTF-8
# max-threads: 10
# background-processor-delay: 30
# basedir: ${user.home}/tomcat/
undertow:
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
# 不要设置过大,如果过大,启动项目会报错:打开文件数过多
io-threads: 4
# 阻塞任务线程池, 当执行类似servlet请求阻塞IO操作, undertow会从这个线程池中取得线程
# 它的值设置取决于系统线程执行任务的阻塞系数,默认值是IO线程数*8
worker-threads: 64
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
# 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
buffer-size: 1024
# 是否分配的直接内存(NIO直接分配的堆外内存)
direct-buffers: true
spring:
banner:
charset: UTF-8
http:
encoding:
force: true
charset: UTF-8
application:
name: spring-boot-code-generator
freemarker:
request-context-attribute: request
suffix: .html
content-type: text/html
enabled: true
cache: false
charset: UTF-8
allow-request-override: false
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
settings:
number_format: 0.##
default_encoding: UTF-8
#template_loader: /templates/
#mvc:
# static-path-pattern: /statics/**
OEM:
version: 3.1
header: SQL转Java JPA、MYBATIS实现类代码生成平台
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
title: JAVA在线代码生成
slogan: For reducing the repetitive CRUD work
description: SpringBootCodeGenerator(JAVA代码生成平台),又名`大狼狗代码生成器`、`SQL转JAVA`、`SQL转JPA`、`SQL转Mybatis`、`Mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`。
author: devtools.cn
packageName: www.devtools.cn
copyright: powered by Moshow郑锴(大狼狗)
returnUtilSuccess: ReturnT.success
returnUtilFailure: ReturnT.error
outputStr: devtools.cn
mode: CDN
Loading

0 comments on commit 832a7f9

Please sign in to comment.