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 1f50b5aea98853f9b91f0f26a69c27d5c6519b6e..121152003116efaf1b96b2b52b93f1f2e5e7e30a 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 acd2312a0aa55ade836c4584d6c6f033655d9c63..25a8d16bbc2cad861e598c7c81676850ca14ffaf 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 b28bf25e555261f5c6fe330372abf03a5d041171..ae72480e233d0b48b1798dbef7855c0e67c241cc 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 a45409a1bd8e8df023a70f2804d308cc49d80af5..9341cffab0aa48187d2df79c9781edb881fc430c 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("");