From 2316fb1780da5e46a00f6171b6bc7e1181879ba4 Mon Sep 17 00:00:00 2001 From: "MOSHOW.K.ZHENG" Date: Wed, 5 Feb 2020 21:44:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=9C=80=E8=BF=91=E7=94=9F=E6=88=90=E7=9A=84?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=202.=E6=96=B0=E5=A2=9Eswagger=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E9=80=89=E9=A1=B9=E5=92=8C=E4=BF=AE=E5=A4=8D@Column?= =?UTF-8?q?=E5=B8=A6name=E5=8F=82=E6=95=B0(=E6=84=9F=E8=B0=A2@liuyu-strugg?= =?UTF-8?q?le=E7=9A=84=E5=BB=BA=E8=AE=AE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.新增历史记录功能,自动保存最近生成的对象 2.新增swagger开关选项和修复@Column带name参数(感谢@liuyu-struggle的建议) --- README.md | 1 + .../generator/controller/IndexController.java | 6 ++ .../system/generator/entity/ParamInfo.java | 1 + .../service/GeneratorServiceImpl.java | 2 +- .../src/main/resources/static/version.json | 2 +- .../templates/code-generator/jpa/entity.ftl | 10 +-- .../src/main/resources/templates/index.ftl | 63 ++++++++++++++++++- 7 files changed, 75 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 79ee06d..6a5b2bd 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ |更新日期|更新内容| |-|-| +|20200206|1.新增历史记录功能,自动保存最近生成的对象 2.新增swagger开关选项和修复@Column带name参数(感谢@liuyu-struggle的建议)| |20191229|1.修复bejson安全防护策略拦截问题(感谢@liangbintao和@1808083642的反馈) 2.优化字段名含date字符串的处理(感谢@smilexzh的反馈) 3.控制台动态输出项目访问地址(感谢@gaohanghang的提交)| |20191128|1.修复支持string-copy导致的以n结尾的字母不显示问题 2.jpa-entity新增swagger@ApiModel@ApiModelProperty注解和SQL字段@Column注解(感谢@yjq907的建议) | |20191126|1.springboot2内置tomcat更换为性能更强大的undertow 2.修复tinyintTransType参数丢失问题 | diff --git a/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java b/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java index 7e08e9f..528cb5b 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java +++ b/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java @@ -1,5 +1,6 @@ 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; @@ -60,9 +61,14 @@ public class IndexController { // process the param Map params = new HashMap(8); params.put("classInfo", classInfo); + params.put("tableName", classInfo==null?System.currentTimeMillis():classInfo.getTableName()); params.put("authorName", paramInfo.getAuthorName()); params.put("packageName", paramInfo.getPackageName()); params.put("returnUtil", paramInfo.getReturnUtil()); + params.put("swagger", paramInfo.isSwagger()); + + //log the params + //log.info(JSON.toJSONString(paramInfo)); log.info("generator table:"+(classInfo==null?"":classInfo.getTableName()) +",field size:"+((classInfo==null||classInfo.getFieldList()==null)?"":classInfo.getFieldList().size())); diff --git a/generator-web/src/main/java/com/softdev/system/generator/entity/ParamInfo.java b/generator-web/src/main/java/com/softdev/system/generator/entity/ParamInfo.java index 7ca56fb..cdf616a 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/entity/ParamInfo.java +++ b/generator-web/src/main/java/com/softdev/system/generator/entity/ParamInfo.java @@ -15,6 +15,7 @@ public class ParamInfo { private String nameCaseType; private String tinyintTransType; private String dataType; + private boolean swagger; @Data public static class NAME_CASE_TYPE{ diff --git a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java index ce857ea..6e60195 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java +++ b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java @@ -25,7 +25,7 @@ public class GeneratorServiceImpl implements GeneratorService { public Map getResultByParams(Map params) throws IOException, TemplateException { // result Map result = new HashMap(32); - + result.put("tableName",params.get("tableName")+""); //UI result.put("swagger-ui", freemarkerTool.processString("code-generator/ui/swagger-ui.ftl", params)); result.put("element-ui", freemarkerTool.processString("code-generator/ui/element-ui.ftl", params)); diff --git a/generator-web/src/main/resources/static/version.json b/generator-web/src/main/resources/static/version.json index b044f17..4d7211c 100644 --- a/generator-web/src/main/resources/static/version.json +++ b/generator-web/src/main/resources/static/version.json @@ -1 +1 @@ -{"version": "20191229"} \ No newline at end of file +{"version": "20200206"} \ No newline at end of file diff --git a/generator-web/src/main/resources/templates/code-generator/jpa/entity.ftl b/generator-web/src/main/resources/templates/code-generator/jpa/entity.ftl index d2cb299..8568150 100644 --- a/generator-web/src/main/resources/templates/code-generator/jpa/entity.ftl +++ b/generator-web/src/main/resources/templates/code-generator/jpa/entity.ftl @@ -18,8 +18,8 @@ import io.swagger.annotations.ApiModelProperty; */ @Entity @Data -@Table(name="${classInfo.tableName}") -@ApiModel("${classInfo.classComment}") +@Table(name="${classInfo.tableName}")<#if swagger?exists && swagger==true> +@ApiModel("${classInfo.classComment}") public class ${classInfo.className} implements Serializable { private static final long serialVersionUID = 1L; @@ -30,9 +30,9 @@ public class ${classInfo.className} implements Serializable { <#list classInfo.fieldList as fieldItem > /** * ${fieldItem.fieldComment} - */ - @ApiModelProperty("${fieldItem.fieldComment}") - @Column("${fieldItem.columnName}") + */<#if swagger?exists && swagger==true> + @ApiModelProperty("${fieldItem.fieldComment}") + @Column(name="${fieldItem.columnName}") private ${fieldItem.fieldClass} ${fieldItem.fieldName}; diff --git a/generator-web/src/main/resources/templates/index.ftl b/generator-web/src/main/resources/templates/index.ftl index b27c7fc..eb151fe 100644 --- a/generator-web/src/main/resources/templates/index.ftl +++ b/generator-web/src/main/resources/templates/index.ftl @@ -59,6 +59,12 @@ }); return o; }; + var historyCount=0; + //初始化清除session + if (window.sessionStorage){ + //修复当F5刷新的时候,session没有清空各个值,但是页面的button没了。 + sessionStorage.clear(); + } /** * 生成代码 */ @@ -70,7 +76,8 @@ "authorName":$("#authorName").val(), "dataType":$("#dataType").val(), "tinyintTransType":$("#tinyintTransType").val(), - "nameCaseType":$("#nameCaseType").val() + "nameCaseType":$("#nameCaseType").val(), + "swagger":$("#isSwagger").val() }; $.ajax({ type: 'POST', @@ -81,9 +88,11 @@ success: function (data) { if (data.code === 200) { codeData = data.data; - genCodeArea.setValue(codeData.beetlentity); + genCodeArea.setValue(codeData.entity); genCodeArea.setSize('auto', 'auto'); $.toast("√ 代码生成成功"); + //添加历史记录 + addHistory(codeData); } else { $.toast("× 代码生成失败 :"+data.msg); } @@ -91,6 +100,45 @@ }); return false; }); + /** + * 切换历史记录 + */ + function getHistory(tableName){ + if (window.sessionStorage){ + var valueSession = sessionStorage.getItem(tableName); + codeData = JSON.parse(valueSession); + $.toast("$ 切换历史记录成功:"+tableName); + genCodeArea.setValue(codeData.entity); + }else{ + console.log("浏览器不支持sessionStorage"); + } + } + /** + * 添加历史记录 + */ + function addHistory(data){ + if (window.sessionStorage){ + //console.log(historyCount); + if(historyCount>=9){ + $("#history").find(".btn:last").remove(); + historyCount--; + } + var tableName=data.tableName; + var valueSession = sessionStorage.getItem(tableName); + if(valueSession!==undefined && valueSession!=null){ + sessionStorage.removeItem(tableName); + }else{ + $("#history").prepend(''); + //$("#history").prepend(''); + $("#his-"+tableName).bind('click', function () {getHistory(tableName)}); + } + sessionStorage.setItem(tableName,JSON.stringify(data)); + historyCount++; + }else{ + console.log("浏览器不支持sessionStorage"); + } + } + /** * 按钮事件组 */ @@ -169,7 +217,7 @@

Spring Boot Code Generator!

- √基于SpringBoot2+Freemarker的代码生成器,√以释放双手为目的,√支持mysql/oracle/pgsql三大数据库,
+ √基于SpringBoot2+Freemarker的代码生成器,√以释放双手为目的,√支持mysql/oracle/pgsql三大数据库,
√用DDL-SQL语句生成JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL相关代码。
如果发现有SQL语句不能识别,请留言,同时欢迎大家提PR赞赏,谢谢!查看版本

@@ -219,6 +267,14 @@ <#----> +
+ swagger-ui +
+

+

From e78f38e3c9b7ee0dbe6f6654693b1cba832b1e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moshow=E9=83=91=E9=94=B4?= Date: Wed, 5 Feb 2020 21:52:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8E=BB=E9=99=A4mybatis=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=96=B9=E6=8B=AC=E5=8F=B7[]=E5=92=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E6=9D=BF=E9=87=8C=E7=9A=84=E7=B1=BB?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=A0=B7=E5=BC=8F(=E6=84=9F=E8=B0=A2@gaohang?= =?UTF-8?q?hang=E7=9A=84PR)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去除mybatis模板中的方括号[]和修改模板里的类注释样式(感谢@gaohanghang的PR) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a5b2bd..18162f6 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ |更新日期|更新内容| |-|-| -|20200206|1.新增历史记录功能,自动保存最近生成的对象 2.新增swagger开关选项和修复@Column带name参数(感谢@liuyu-struggle的建议)| +|20200206|1.新增历史记录功能,自动保存最近生成的对象 2.新增swagger开关选项和修复@Column带name参数(感谢@liuyu-struggle的建议) 3.去除mybatis模板中的方括号[]和修改模板里的类注释样式(感谢@gaohanghang的PR)| |20191229|1.修复bejson安全防护策略拦截问题(感谢@liangbintao和@1808083642的反馈) 2.优化字段名含date字符串的处理(感谢@smilexzh的反馈) 3.控制台动态输出项目访问地址(感谢@gaohanghang的提交)| |20191128|1.修复支持string-copy导致的以n结尾的字母不显示问题 2.jpa-entity新增swagger@ApiModel@ApiModelProperty注解和SQL字段@Column注解(感谢@yjq907的建议) | |20191126|1.springboot2内置tomcat更换为性能更强大的undertow 2.修复tinyintTransType参数丢失问题 |