From 5182fbaf50b7c4c876c0ef1edcfaf08b9dd498a4 Mon Sep 17 00:00:00 2001
From: wugh <328043740@qq.com>
Date: Wed, 12 Dec 2018 13:44:52 +0800
Subject: [PATCH] =?UTF-8?q?[bug=E4=BF=AE=E5=A4=8D]=20=E8=A7=A3=E5=86=B3ins?=
=?UTF-8?q?ertList=E6=97=A0=E6=B3=95=E5=A4=84=E7=90=86DynamicTableName?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/provider/SpecialProvider.java | 3 +-
.../mapper/mapperhelper/SqlHelper.java | 146 ++++++++++--------
.../dialact/oracle/OracleProvider.java | 2 +-
.../additional/insert/InsertListProvider.java | 2 +-
4 files changed, 85 insertions(+), 68 deletions(-)
diff --git a/base/src/main/java/tk/mybatis/mapper/provider/SpecialProvider.java b/base/src/main/java/tk/mybatis/mapper/provider/SpecialProvider.java
index 1f50b5a..1211520 100644
--- a/base/src/main/java/tk/mybatis/mapper/provider/SpecialProvider.java
+++ b/base/src/main/java/tk/mybatis/mapper/provider/SpecialProvider.java
@@ -30,6 +30,7 @@ import tk.mybatis.mapper.mapperhelper.EntityHelper;
import tk.mybatis.mapper.mapperhelper.MapperHelper;
import tk.mybatis.mapper.mapperhelper.MapperTemplate;
import tk.mybatis.mapper.mapperhelper.SqlHelper;
+import tk.mybatis.mapper.util.StringUtil;
import java.util.Set;
@@ -54,7 +55,7 @@ public class SpecialProvider extends MapperTemplate {
//开始拼sql
StringBuilder sql = new StringBuilder();
sql.append("");
- sql.append(SqlHelper.insertIntoTable(entityClass, tableName(entityClass)));
+ sql.append(SqlHelper.insertIntoTable(entityClass, tableName(entityClass), "list[0]"));
sql.append(SqlHelper.insertColumns(entityClass, true, false, false));
sql.append(" VALUES ");
sql.append("");
diff --git a/core/src/main/java/tk/mybatis/mapper/mapperhelper/SqlHelper.java b/core/src/main/java/tk/mybatis/mapper/mapperhelper/SqlHelper.java
index acd2312..25a8d16 100644
--- a/core/src/main/java/tk/mybatis/mapper/mapperhelper/SqlHelper.java
+++ b/core/src/main/java/tk/mybatis/mapper/mapperhelper/SqlHelper.java
@@ -374,6 +374,22 @@ public class SqlHelper {
return sql.toString();
}
+ /**
+ * insert into tableName - 动态表名
+ *
+ * @param entityClass
+ * @param defaultTableName
+ * @param parameterName 动态表名的参数名
+ * @return
+ */
+ public static String insertIntoTable(Class> entityClass, String defaultTableName, String parameterName) {
+ StringBuilder sql = new StringBuilder();
+ sql.append("INSERT INTO ");
+ sql.append(getDynamicTableName(entityClass, defaultTableName, parameterName));
+ sql.append(" ");
+ return sql.toString();
+ }
+
/**
* insert table()列
*
@@ -476,9 +492,9 @@ public class SqlHelper {
String versionClass = version.nextVersion().getCanonicalName();
//version = ${@tk.mybatis.mapper.version@nextVersionClass("versionClass", version)}
sql.append(column.getColumn())
- .append(" = ${@tk.mybatis.mapper.version.VersionUtil@nextVersion(")
- .append("@").append(versionClass).append("@class, ")
- .append(column.getProperty()).append(")},");
+ .append(" = ${@tk.mybatis.mapper.version.VersionUtil@nextVersion(")
+ .append("@").append(versionClass).append("@class, ")
+ .append(column.getProperty()).append(")},");
} else if (column == logicDeleteColumn) {
sql.append(logicDeleteColumnEqualsValue(column, false)).append(",");
} else if (notNull) {
@@ -883,38 +899,38 @@ public class SqlHelper {
*/
public static String exampleWhereClause() {
return "" +
- "\n" +
- " ${@tk.mybatis.mapper.util.OGNL@andNotLogicDelete(_parameter)}" +
- " \n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criteria)}" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
- " \n" +
- " #{listItem}\n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- "" +
- "";
+ "\n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andNotLogicDelete(_parameter)}" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criteria)}" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
+ " \n" +
+ " #{listItem}\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "" +
+ "";
}
/**
@@ -924,36 +940,36 @@ public class SqlHelper {
*/
public static String updateByExampleWhereClause() {
return "\n" +
- " ${@tk.mybatis.mapper.util.OGNL@andNotLogicDelete(example)}" +
- " \n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criteria)}" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n" +
- " \n" +
- " \n" +
- " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
- " \n" +
- " #{listItem}\n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- "";
+ " ${@tk.mybatis.mapper.util.OGNL@andNotLogicDelete(example)}" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criteria)}" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition} #{criterion.value} and #{criterion.secondValue}\n" +
+ " \n" +
+ " \n" +
+ " ${@tk.mybatis.mapper.util.OGNL@andOr(criterion)} ${criterion.condition}\n" +
+ " \n" +
+ " #{listItem}\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "";
}
}
diff --git a/extra/src/main/java/tk/mybatis/mapper/additional/dialact/oracle/OracleProvider.java b/extra/src/main/java/tk/mybatis/mapper/additional/dialact/oracle/OracleProvider.java
index b28bf25..ae72480 100644
--- a/extra/src/main/java/tk/mybatis/mapper/additional/dialact/oracle/OracleProvider.java
+++ b/extra/src/main/java/tk/mybatis/mapper/additional/dialact/oracle/OracleProvider.java
@@ -46,7 +46,7 @@ public class OracleProvider extends MapperTemplate {
sql.append("INSERT ALL\n");
sql.append("\n");
- String tableName = SqlHelper.getDynamicTableName(entityClass, tableName(entityClass));
+ String tableName = SqlHelper.getDynamicTableName(entityClass, tableName(entityClass),"list[0]");
String columns = SqlHelper.insertColumns(entityClass, false, false, false);
sql.append(" INTO ").append(tableName).append(" ").append(columns).append("\n");
sql.append(" VALUES ");
diff --git a/extra/src/main/java/tk/mybatis/mapper/additional/insert/InsertListProvider.java b/extra/src/main/java/tk/mybatis/mapper/additional/insert/InsertListProvider.java
index a45409a..9341cff 100644
--- a/extra/src/main/java/tk/mybatis/mapper/additional/insert/InsertListProvider.java
+++ b/extra/src/main/java/tk/mybatis/mapper/additional/insert/InsertListProvider.java
@@ -52,7 +52,7 @@ public class InsertListProvider extends MapperTemplate {
//开始拼sql
StringBuilder sql = new StringBuilder();
sql.append("");
- sql.append(SqlHelper.insertIntoTable(entityClass, tableName(entityClass)));
+ sql.append(SqlHelper.insertIntoTable(entityClass, tableName(entityClass), "list[0]"));
sql.append(SqlHelper.insertColumns(entityClass, false, false, false));
sql.append(" VALUES ");
sql.append("");
--
Gitee