OEM信息优化,支持多配置文件模式,支持在application*.yml自定义信息,以及切换local/cdn模式。

This commit is contained in:
MOSHOW郑锴 2021-01-17 23:43:05 +08:00
parent 093a918b84
commit 7a4ee452eb
13 changed files with 296 additions and 81 deletions

View File

@ -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
@ -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的建议|

View File

@ -7,37 +7,40 @@ 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.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")

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,48 +1,3 @@
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/**
profiles:
active: dev

View File

@ -41,10 +41,10 @@ const vm = new Vue({
options: {
dataType: "sql",
authorName: "zhengkai.blog.csdn.net",
packageName: "cn.devtools",
returnUtilSuccess: "Return.SUCCESS",
returnUtilFailure: "Return.ERROR",
authorName: "${(value.author)!!}",
packageName: "${(value.packageName)!!}",
returnUtilSuccess: "${(value.returnUtilSuccess)!!}",
returnUtilFailure: "${(value.returnUtilFailure)!!}",
isPackageType: true,
isSwagger: false,
@ -61,7 +61,7 @@ const vm = new Vue({
},
templates:[{}],
historicalData:[],
outputStr: "xxx",
outputStr: "${(value.outputStr)!!}",
outputJson: {}
},
methods: {

View File

@ -1,9 +1,3 @@
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>SQL转Java JPA、MYBATIS实现类代码生成平台</title>
<meta name="keywords" content="sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现">
<!--#################-->
<!--### CDN version-->
<!--#################-->

View File

@ -1,9 +1,3 @@
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>SQL转Java JPA、MYBATIS实现类代码生成平台</title>
<meta name="keywords" content="sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现">
<!--#################-->
<!--### local version-->
<!--#################-->

View File

@ -1 +1,21 @@
<#include "/header-local.html">
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>${(value.title)!!}</title>
<meta name="keywords" content="${(value.keywords)!!}">
<script>
/*统计代码,便于统计流量,请勿移除,谢谢!*/
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?97fd5ca1a4298ac8349c7e0de9029a0f";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<#if value.mode=='local'>
<#include "/header-local.html">
<#else>
<#include "/header-CDN.html">
</#if>

View File

@ -15,9 +15,9 @@
<header class="main-header">
<a href="javascript:void(0);" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"><b>大狼狗</b></span>
<span class="logo-mini"><b>${(value.title)!!}</b></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><b>JAVA代码生成平台</b></span>
<span class="logo-lg"><b>${(value.title)!!}</b></span>
</a>
<!-- Header Navbar: style can be found in header.less -->
<nav class="navbar navbar-static-top" role="navigation">
@ -25,7 +25,7 @@
<!--<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span>
</a>-->
<div style="float:left;color:#fff;padding:15px 10px;">For reducing the repetitive CRUD work</div>
<div style="float:left;color:#fff;padding:15px 10px;">${(value.slogan)!!}</div>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li><a target="_blank" href="https://github.com/moshowgame/SpringBootCodeGenerator/blob/master/README.md"><i class="el-icon-share"></i> &nbsp;说明手册</a></li>
@ -52,9 +52,9 @@
<footer class="main-footer">
<div class="pull-right hidden-xs">
Version 2021.1
Version ${(value.version)!!}
</div>
Powered by Moshow郑锴(大狼狗) <a href="https://zhengkai.blog.csdn.net" target="_blank"><i class="el-icon-location"></i>zhengkai.blog.csdn.net</a> <a href="https://github.com/moshowgame/SpringBootCodeGenerator/blob/master/donate.png?raw=true" target="_blank"><i class="el-icon-money"></i>打赏</a>
${(value.copyright)!!} <a href="https://zhengkai.blog.csdn.net" target="_blank"><i class="el-icon-location"></i>zhengkai.blog.csdn.net</a> <a href="https://github.com/moshowgame/SpringBootCodeGenerator/blob/master/donate.png?raw=true" target="_blank"><i class="el-icon-money"></i>打赏</a>
</footer>
<!-- Add the sidebar's background. This div must be placed

View File

@ -16,7 +16,7 @@
</head>
<body>
<div class="panel panel-default" id="rrapp" v-cloak>
<div class="panel-heading">SpringBootCodeGenerator JAVA代码生成平台又名`JAVA在线代码生成平台`、`JPA在线生成平台`、`sql转java`、`大狼狗代码生成器`、`mybatis在线生成器`、`SQL转Java JPA、MYBATIS实现类代码生成平台`</div>
<div class="panel-heading">${(value.description)!!}</div>
<div style="padding: 10px 0 20px 10px;">
<el-form ref="form" :inline="true" :model="formData" label-width="100px" size="mini">
<!-- input area-->
@ -133,5 +133,13 @@
</div>
<script src="${request.contextPath}/statics/js/main.js"></script>
<script>
//console.log(vm);
vm.formData.options.authorName="${(value.author)!!}";
vm.formData.options.packageName="${(value.packageName)!!}";
vm.formData.options.returnUtilSuccess="${(value.returnUtilSuccess)!!}";
vm.formData.options.returnUtilFailure="${(value.returnUtilFailure)!!}";
vm.outputStr="${(value.outputStr)!!}";
</script>
</body>
</html>