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("");