From 3ed179c49c57bcbb4081fb2a91e454c9024873bb Mon Sep 17 00:00:00 2001 From: wangbing Date: Fri, 24 Apr 2020 12:25:09 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 266a4df21b33de00b27457eaca2a67cbb22a1f27 --- .../manger/callable/SpringBootCallable.java | 2 +- .../xyz/wbsite/dbtool/javafx/po/Table.java | 9 +++ .../java/module/mpr/Nosys_mapper.xml | 62 +++++++++++++++++++ 3 files changed, 72 insertions(+), 1 deletion(-) 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 a5d78226..f0b0256c 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 @@ -328,7 +328,7 @@ public class SpringBootCallable implements Callable { // freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), dataBase.name() + "_" + Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/" + dataBase.name() + "_mapper.xml", ctx); freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/" + project.getDatabase().name() + "_mapper.xml", ctx); } else { - freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/Nosys_mapper.ftl", ctx); + freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), Tool.lineToClassName(table.getTableName()) + "Mapper" + ".xml"), "SpringBoot/java/module/mpr/Nosys_mapper.xml", ctx); } } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java index 182cc5ff..0e812451 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Table.java @@ -198,4 +198,13 @@ public class Table extends TreeItem { ProjectManager projectManager = ManagerFactory.getProjectManager(); if (projectManager != null) projectManager.checkSysFields(this); } + + public boolean hasPrimaryKey() { + for (Field field : fields) { + if (field.getIsPrimaryKey()) { + return true; + } + } + return false; + } } diff --git a/src/main/resources/modules/SpringBoot/java/module/mpr/Nosys_mapper.xml b/src/main/resources/modules/SpringBoot/java/module/mpr/Nosys_mapper.xml index 921bef6f..290a96e9 100644 --- a/src/main/resources/modules/SpringBoot/java/module/mpr/Nosys_mapper.xml +++ b/src/main/resources/modules/SpringBoot/java/module/mpr/Nosys_mapper.xml @@ -79,7 +79,38 @@ DELETE FROM WHERE +<#if table.hasPrimaryKey()> + 1 = 1 +<#list table.fields as f> +<#if f.isPrimaryKey> +<#if dataBase == 'Oracle'> +<#if f.fieldType.javaType() == "String"> + + AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} + + +<#if f.fieldType.javaType() == "Boolean"> + + AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} + + +<#elseif dataBase='MySQL'> +<#if f.fieldType.javaType() == "String"> + + AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} + + +<#if f.fieldType.javaType() == "Boolean"> + + AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} + + + + + +<#else> 1 = 2 + @@ -96,6 +127,37 @@ WHERE +<#if table.hasPrimaryKey()> + 1 = 1 +<#list table.fields as f> +<#if f.isPrimaryKey> +<#if dataBase == 'Oracle'> +<#if f.fieldType.javaType() == "String"> + + AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} + + +<#if f.fieldType.javaType() == "Boolean"> + + AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}} + + +<#elseif dataBase='MySQL'> +<#if f.fieldType.javaType() == "String"> + + AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} + + +<#if f.fieldType.javaType() == "Boolean"> + + AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}} + + + + + +<#else> 1 = 2 + \ No newline at end of file