From 29de8e8ab1a114a3ec3da9137e8c179b174f612d Mon Sep 17 00:00:00 2001 From: wangbing Date: Mon, 6 May 2019 22:27:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbtool/javafx/enumeration/FieldType.java | 27 ++++++++++++------- .../manger/callable/SpringBootCallable.java | 22 ++++++++++----- .../xyz/wbsite/dbtool/javafx/po/Field.java | 5 +++- .../modules/SpringBoot/java/ent/entity.ftl | 24 +++++++++++++++-- .../modules/SpringBoot/java/enums/Type.ftl | 6 ++--- .../modules/SpringBoot/java/mpr/mapper.ftl | 8 +++--- .../java/req/createRequestClass.ftl | 2 +- .../java/req/deleteRequestClass.ftl | 2 +- .../SpringBoot/java/req/findRequestClass.ftl | 25 +++++++++++++++-- .../java/req/getAllRequestClass.ftl | 2 +- .../SpringBoot/java/req/getRequestClass.ftl | 2 +- .../java/req/searchRequestClass.ftl | 2 +- .../java/req/updateRequestClass.ftl | 25 ++++++++++++++--- .../resources/templates/screen/index.ftl | 4 +-- 14 files changed, 117 insertions(+), 39 deletions(-) diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/enumeration/FieldType.java b/src/main/java/xyz/wbsite/dbtool/javafx/enumeration/FieldType.java index a0b9cee1..5e3b29a5 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/enumeration/FieldType.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/enumeration/FieldType.java @@ -2,6 +2,7 @@ package xyz.wbsite.dbtool.javafx.enumeration; public enum FieldType { Boolean(0), + Enum(0), Byte(0), Bytes(0), Short(0), @@ -95,25 +96,27 @@ public enum FieldType { @Override public String toString() { if (Boolean.name().equals(this.name())) { - return "boolean"; + return "Boolean"; + } else if (Enum.name().equals(this.name())) { + return "Enum"; } else if (Byte.name().equals(this.name())) { - return "byte"; + return "Byte"; } else if (Short.name().equals(this.name())) { - return "short"; + return "Short"; } else if (Integer.name().equals(this.name())) { - return "int"; + return "Integer"; } else if (Long.name().equals(this.name())) { - return "long"; + return "Long"; } else if (Float.name().equals(this.name())) { - return "float"; + return "Float"; } else if (Double.name().equals(this.name())) { - return "double"; + return "Double"; } else if (Character.name().equals(this.name())) { - return "char"; + return "Character"; } else if (Date.name().equals(this.name())) { return "Date"; } else if (Bytes.name().equals(this.name())) { - return "byte[]"; + return "Byte[]"; } else if (BigDecimal.name().equals(this.name())) { return "BigDecimal"; } else if (String_1.name().equals(this.name())) { @@ -144,6 +147,8 @@ public enum FieldType { public String javaType() { if (Boolean.name().equals(this.name())) { return "Boolean"; + } else if (Enum.name().equals(this.name())) { + return "Enum"; } else if (Byte.name().equals(this.name())) { return "Byte"; } else if (Short.name().equals(this.name())) { @@ -216,7 +221,9 @@ public enum FieldType { return "CHAR"; } else if (String_10.name().equals(this.name())) { return "CHAR"; - } else if (String_var.name().equals(this.name())) { + } else if (Enum.name().equals(this.name())) { + return "VARCHAR"; + } else if (String_var.name().equals(this.name())) { return "VARCHAR"; } else if (String_var50.name().equals(this.name())) { return "VARCHAR"; diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java index 6eacfdf9..82a3d241 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java @@ -5,10 +5,7 @@ import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager; import xyz.wbsite.dbtool.javafx.manger.ManagerFactory; import xyz.wbsite.dbtool.javafx.manger.ProjectManager; import xyz.wbsite.dbtool.javafx.manger.XmlManager; -import xyz.wbsite.dbtool.javafx.po.AbstractDBmapper; -import xyz.wbsite.dbtool.javafx.po.Module; -import xyz.wbsite.dbtool.javafx.po.Project; -import xyz.wbsite.dbtool.javafx.po.Table; +import xyz.wbsite.dbtool.javafx.po.*; import xyz.wbsite.dbtool.javafx.tool.Tool; import java.io.File; @@ -299,9 +296,20 @@ public class SpringBootCallable implements Callable { ctx.put("author", md.getProjectAuthor()); ctx.put("date", new Date()); - File file = new File(root.getAbsolutePath(), "Type.java"); - - freeMarkerManager.outputTemp(file, option + "/java/enums/Type.ftl", ctx); +// { +// ctx.put("Type", "Type"); +// ctx.put("FieldComment", "Type"); +// freeMarkerManager.outputTemp(new File(root.getAbsolutePath(), "Type.java"), option + "/java/enums/Type.ftl", ctx); +// } + for (Table table : md.getTables()) { + for (Field field : table.getFields()) { + if ("Enum".equals(field.getFieldType().javaType())){ + ctx.put("Type",field.getCName()); + ctx.put("FieldComment", field.getFieldComment()); + freeMarkerManager.outputTemp(new File(root.getAbsolutePath(), field.getCName()+".java"), option + "/java/enums/Type.ftl", ctx); + } + } + } } /** diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java index 07d1b3d6..60cd3515 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java @@ -113,7 +113,7 @@ public class Field extends Table { value = "true"; } else if (fieldType.name().matches("Byte|Short|Integer")) { value = "1"; - } else if (fieldType.name().matches("Bytes")) { + } else if (fieldType.name().matches("Bytes|Enum")) { value = "null"; } else if (fieldType.name().matches("Long")) { value = "1L"; @@ -226,4 +226,7 @@ public class Field extends Table { public String getFName() { return Tool.lineToFieldName(this.fieldName); } + public String getCName() { + return Tool.lineToClassName(this.fieldName); + } } diff --git a/src/main/resources/modules/SpringBoot/java/ent/entity.ftl b/src/main/resources/modules/SpringBoot/java/ent/entity.ftl index 94e06199..5e594886 100644 --- a/src/main/resources/modules/SpringBoot/java/ent/entity.ftl +++ b/src/main/resources/modules/SpringBoot/java/ent/entity.ftl @@ -3,6 +3,11 @@ package ${basePackage}.${moduleName}.ent; <#if table.has('Date')> import java.util.Date; +<#list table.fields as field> +<#if field.fieldType.javaType() == "Enum"> +import ${basePackage}.${moduleName}.enums.${field.getCName()}; + + import ${basePackage}.frame.base.BaseEntity; /** @@ -15,7 +20,13 @@ import ${basePackage}.frame.base.BaseEntity; public class ${table.getCName()} extends BaseEntity { <#list table.fields as field> -<#if !field.isSystem || field.fieldName == 'ID'> +<#if field.fieldType.javaType() == "Enum"> + /** + * ${field.fieldName} - ${field.fieldComment?default("")} + */ + private ${field.getCName()} ${field.getFName()}; + +<#elseif !field.isSystem || field.fieldName == 'ID'> /** * ${field.fieldName} - ${field.fieldComment?default("")} */ @@ -24,7 +35,16 @@ public class ${table.getCName()} extends BaseEntity { <#list table.fields as field> -<#if !field.isSystem || field.fieldName == 'ID'> +<#if field.fieldType.javaType() == "Enum"> + public ${field.getCName()} ${field.getterName()}() { + return this.${field.getFName()}; + } + + public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { + this.${field.getFName()} = ${field.getFName()}; + } + +<#elseif !field.isSystem || field.fieldName == 'ID' > public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; } diff --git a/src/main/resources/modules/SpringBoot/java/enums/Type.ftl b/src/main/resources/modules/SpringBoot/java/enums/Type.ftl index a4e543ed..b9d442e3 100644 --- a/src/main/resources/modules/SpringBoot/java/enums/Type.ftl +++ b/src/main/resources/modules/SpringBoot/java/enums/Type.ftl @@ -2,12 +2,12 @@ package ${basePackage}.${moduleName}.enums; /** - * TYPE - 枚举 + * ${Type} - ${FieldComment} * * @author ${author?default("")} * @version 0.0.1 - * @since 2017-01-101 + * @since ${date?string("yyyy-MM-dd")} */ -public enum Type { +public enum ${Type} { } diff --git a/src/main/resources/modules/SpringBoot/java/mpr/mapper.ftl b/src/main/resources/modules/SpringBoot/java/mpr/mapper.ftl index 88fd4e44..2da72bdb 100644 --- a/src/main/resources/modules/SpringBoot/java/mpr/mapper.ftl +++ b/src/main/resources/modules/SpringBoot/java/mpr/mapper.ftl @@ -39,23 +39,23 @@ <#list table.fields as f> <#if f.isQuery> <#if dataBase == 'ORACLE'> -<#if f.fieldType?contains("String")> +<#if f.fieldType.javaType() == "String"> AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} -<#if f.fieldType?contains("Boolean")> +<#if f.fieldType.javaType() == "Boolean"> AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} <#elseif dataBase='MYSQL'> -<#if f.fieldType?contains("String")> +<#if f.fieldType.javaType() == "String"> AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} -<#if f.fieldType?contains("Boolean")> +<#if f.fieldType.javaType() == "Boolean"> AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} diff --git a/src/main/resources/modules/SpringBoot/java/req/createRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/createRequestClass.ftl index 76f54470..c4a77928 100644 --- a/src/main/resources/modules/SpringBoot/java/req/createRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/createRequestClass.ftl @@ -9,7 +9,7 @@ import javax.validation.constraints.NotEmpty; import org.hibernate.validator.constraints.Length; /** - * ${table.getCName()}CreateRequest - ${table.tableComment} + * ${table.getCName()}CreateRequest - ${table.tableComment}新增 * * @author ${author?default("")} * @version 0.0.1 diff --git a/src/main/resources/modules/SpringBoot/java/req/deleteRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/deleteRequestClass.ftl index 1d3fd27e..6e4a66a2 100644 --- a/src/main/resources/modules/SpringBoot/java/req/deleteRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/deleteRequestClass.ftl @@ -4,7 +4,7 @@ import ${basePackage}.frame.base.BaseUpdateRequest; import javax.validation.constraints.NotNull; /** - * ${table.getCName()}DeleteRequest - ${table.tableComment} + * ${table.getCName()}DeleteRequest - ${table.tableComment}删除 * * @author ${author?default("")} * @version 0.0.1 diff --git a/src/main/resources/modules/SpringBoot/java/req/findRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/findRequestClass.ftl index c1b48ddb..c1a1f2f8 100644 --- a/src/main/resources/modules/SpringBoot/java/req/findRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/findRequestClass.ftl @@ -4,9 +4,14 @@ import ${basePackage}.frame.base.BaseFindRequest; <#if table.has('Date')> import java.util.Date; +<#list table.fields as field> +<#if field.fieldType.javaType() == "Enum"> +import ${basePackage}.${moduleName}.enums.${field.getCName()}; + + /** - * ${table.getCName()}Request - ${table.tableComment} + * ${table.getCName()}Request - ${table.tableComment}查询 * * @author ${author?default("")} * @version 0.0.1 @@ -16,15 +21,31 @@ public class ${table.getCName()}FindRequest extends BaseFindRequest { <#list table.fields as field> <#if field.isQuery> +<#if field.fieldType.javaType() == "Enum"> + /** + * ${field.fieldComment?default("")} + */ + private ${field.getCName()} ${field.getFName()}; +<#else> /** * ${field.fieldComment?default("")} */ private ${field.fieldType.javaType()} ${field.getFName()}; + <#list table.fields as field> <#if field.isQuery> +<#if field.fieldType.javaType() == "Enum"> + public ${field.getCName()} ${field.getterName()}() { + return this.${field.getFName()}; + } + + public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { + this.${field.getFName()} = ${field.getFName()}; + } +<#else> public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; } @@ -32,7 +53,7 @@ public class ${table.getCName()}FindRequest extends BaseFindRequest { public void ${field.setterName()}(${field.fieldType.javaType()} ${field.getFName()}) { this.${field.getFName()} = ${field.getFName()}; } - + } diff --git a/src/main/resources/modules/SpringBoot/java/req/getAllRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/getAllRequestClass.ftl index 4974af17..6f0661d7 100644 --- a/src/main/resources/modules/SpringBoot/java/req/getAllRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/getAllRequestClass.ftl @@ -3,7 +3,7 @@ package ${basePackage}.${moduleName}.req; import ${basePackage}.frame.base.BaseGetAllRequest; /** - * ${table.getCName()}GetAllRequest - ${table.tableComment} + * ${table.getCName()}GetAllRequest - ${table.tableComment}获取全部 * * @author ${author?default("")} * @version 0.0.1 diff --git a/src/main/resources/modules/SpringBoot/java/req/getRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/getRequestClass.ftl index 98e1f437..ca1e7d68 100644 --- a/src/main/resources/modules/SpringBoot/java/req/getRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/getRequestClass.ftl @@ -4,7 +4,7 @@ import ${basePackage}.frame.base.BaseRequest; import javax.validation.constraints.NotNull; /** - * ${table.getCName()}GetRequest - ${table.tableComment} + * ${table.getCName()}GetRequest - ${table.tableComment}获取 * * @author ${author?default("")} * @version 0.0.1 diff --git a/src/main/resources/modules/SpringBoot/java/req/searchRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/searchRequestClass.ftl index 12829bb0..cf1c429d 100644 --- a/src/main/resources/modules/SpringBoot/java/req/searchRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/searchRequestClass.ftl @@ -6,7 +6,7 @@ import java.util.Date; /** - * ${table.getCName()}Request - ${table.tableComment?default("")} + * ${table.getCName()}Request - ${table.tableComment?default("")}模糊搜索 * * @author ${author?default("")} * @version 0.0.1 diff --git a/src/main/resources/modules/SpringBoot/java/req/updateRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/req/updateRequestClass.ftl index 94314a32..485de635 100644 --- a/src/main/resources/modules/SpringBoot/java/req/updateRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/req/updateRequestClass.ftl @@ -7,9 +7,14 @@ import javax.validation.constraints.NotEmpty; <#if table.has('Date')> import java.util.Date; +<#list table.fields as field> +<#if field.fieldType.javaType() == "Enum"> +import ${basePackage}.${moduleName}.enums.${field.getCName()}; + + /** - * ${table.getCName()}UpdateRequest - ${table.tableComment} + * ${table.getCName()}UpdateRequest - ${table.tableComment}更新 * * @author ${author?default("")} * @version 0.0.1 @@ -22,7 +27,7 @@ public class ${table.getCName()}UpdateRequest extends BaseUpdateRequest { /** * ${field.fieldComment?default("")} */ -<#if field.fieldType?contains("String")> +<#if field.fieldType.javaType() == "String"> <#if field.fieldType != 'String_super'> @Length(min = 0, max = ${field.fieldLength}, message = "${field.fieldComment?default("")}长度不合法(0-${field.fieldLength})") @@ -34,12 +39,26 @@ public class ${table.getCName()}UpdateRequest extends BaseUpdateRequest { @NotNull(message = "${field.fieldComment?default("")}不能为NULL") +<#if field.fieldType.javaType() == "Enum"> + private ${field.getCName()} ${field.getFName()}; +<#else > private ${field.fieldType.javaType()} ${field.getFName()}; + <#list table.fields as field> <#if !field.isSystem || field.fieldName == 'ID'> + +<#if field.fieldType.javaType() == "Enum"> + public ${field.getCName()} ${field.getterName()}() { + return this.${field.getFName()}; + } + + public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { + this.${field.getFName()} = ${field.getFName()}; + } +<#else> public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; } @@ -47,7 +66,7 @@ public class ${table.getCName()}UpdateRequest extends BaseUpdateRequest { public void ${field.setterName()}(${field.fieldType.javaType()} ${field.getFName()}) { this.${field.getFName()} = ${field.getFName()}; } - + } diff --git a/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl b/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl index 3f1269c7..68eca784 100644 --- a/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl +++ b/src/main/resources/modules/SpringBoot/resources/templates/screen/index.ftl @@ -85,7 +85,7 @@ font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; } - html, body, #app, #main, #content { + html, body, #index, #main, #content { width: 100%; height: 100%; } @@ -127,7 +127,7 @@ overflow: hidden; } - #app { + #index { display: flex; }