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>
+<#if f.fieldType.javaType() == "Boolean">
+
+ AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
+
+#if>
+<#elseif dataBase='MySQL'>
+<#if f.fieldType.javaType() == "String">
+
+ AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
+
+#if>
+<#if f.fieldType.javaType() == "Boolean">
+
+ AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
+
+#if>
+#if>
+#if>
+#list>
+<#else>
1 = 2
+#if>
@@ -96,6 +127,37 @@
#list>
#if>
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>
+<#if f.fieldType.javaType() == "Boolean">
+
+ AND "${f.fieldName}" = ${r"#{"}request.${f.getFName()}}
+
+#if>
+<#elseif dataBase='MySQL'>
+<#if f.fieldType.javaType() == "String">
+
+ AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
+
+#if>
+<#if f.fieldType.javaType() == "Boolean">
+
+ AND `${f.fieldName}` = ${r"#{"}request.${f.getFName()}}
+
+#if>
+#if>
+#if>
+#list>
+<#else>
1 = 2
+#if>
\ No newline at end of file