From 73b29a2093ea4f37300003f9b8efd9710d60c1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Wed, 15 Mar 2023 14:10:05 +0800 Subject: [PATCH] fixed CommonsDialectImpl.java --- .../com/mybatisflex/core/dialect/CommonsDialectImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java index 246d4426..df7c33f9 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java @@ -354,7 +354,6 @@ public class CommonsDialectImpl implements IDialect { StringBuilder sql = new StringBuilder(); sql.append("INSERT INTO ").append(wrap(tableInfo.getTableName())); - String[] insertColumns = tableInfo.obtainInsertColumns(); Map onInsertColumns = tableInfo.getOnInsertColumns(); @@ -380,17 +379,19 @@ public class CommonsDialectImpl implements IDialect { StringBuilder sql = new StringBuilder(); sql.append("INSERT INTO ").append(wrap(tableInfo.getTableName())); String[] insertColumns = tableInfo.obtainInsertColumns(); + String[] warpedInsertColumns = new String[insertColumns.length]; for (int i = 0; i < insertColumns.length; i++) { - insertColumns[i] = wrap(insertColumns[i]); + warpedInsertColumns[i] = wrap(insertColumns[i]); } - sql.append("(").append(StringUtil.join(", ", insertColumns)).append(")"); + sql.append("(").append(StringUtil.join(", ", warpedInsertColumns)).append(")"); sql.append(" VALUES "); Map onInsertColumns = tableInfo.getOnInsertColumns(); for (int i = 0; i < entities.size(); i++) { StringJoiner stringJoiner = new StringJoiner(", ", "(", ")"); - for (String insertColumn : insertColumns) { + for (String insertColumn : warpedInsertColumns) { if (onInsertColumns != null && onInsertColumns.containsKey(insertColumn)) { + //直接读取 onInsert 配置的值,而不用 "?" 代替 stringJoiner.add(onInsertColumns.get(insertColumn)); } else { stringJoiner.add("?");