miemie преди 2 години
родител
ревизия
edd0671ad6

+ 3 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/TenantLineInnerInterceptor.java

@@ -139,10 +139,11 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
         } else if (insert.getItemsList() != null) {
             // fixed github pull/295
             ItemsList itemsList = insert.getItemsList();
+            Expression tenantId = tenantLineHandler.getTenantId();
             if (itemsList instanceof MultiExpressionList) {
-                ((MultiExpressionList) itemsList).getExpressionLists().forEach(el -> el.getExpressions().add(tenantLineHandler.getTenantId()));
+                ((MultiExpressionList) itemsList).getExpressionLists().forEach(el -> el.getExpressions().add(tenantId));
             } else {
-                ((ExpressionList) itemsList).getExpressions().add(tenantLineHandler.getTenantId());
+                ((ExpressionList) itemsList).getExpressions().add(tenantId);
             }
         } else {
             throw ExceptionUtils.mpe("Failed to process multiple-table update, please exclude the tableName or statementId");

+ 4 - 1
mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/plugins/inner/TenantLineInnerInterceptorTest.java

@@ -38,8 +38,11 @@ class TenantLineInnerInterceptorTest {
     @Test
     void insert() {
         // plain
-        assertSql("insert into entity (id,name) value (?,?)",
+        assertSql("insert into entity (id,name) values (?,?)",
             "INSERT INTO entity (id, name, tenant_id) VALUES (?, ?, 1)");
+        // batch
+        assertSql("insert into entity (id,name) values (?,?),(?,?)",
+            "INSERT INTO entity (id, name, tenant_id) VALUES (?, ?, 1), (?, ?, 1)");
         // 无 insert的列
         assertSql("insert into entity value (?,?)",
             "INSERT INTO entity VALUES (?, ?)");