From 23e5de0819801ebd52b332b46e49cede92378008 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Wed, 30 May 2018 03:32:23 +1200 Subject: [PATCH] #1394 #1395 - ENH: Add addBatch() and executeBatch() to SqlUpdate ... alternative to changing transaction batch mode enhancement --- .../tests/rawsql/TestInsertSqlLogging.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java b/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java index 44e7ceef3..4ff697eae 100644 --- a/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java +++ b/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java @@ -8,6 +8,8 @@ import io.ebeaninternal.api.SpiTransaction; import org.junit.Test; import org.tests.idkeys.db.AuditLog; +import java.util.Arrays; + import static org.junit.Assert.assertFalse; public class TestInsertSqlLogging extends BaseTestCase { @@ -39,6 +41,38 @@ public class TestInsertSqlLogging extends BaseTestCase { insert.setNextParameter("bob"); insert.execute(); + txn.commit(); + } + } + + @Test + public void addBatch_executeBatch() { + + Ebean.find(AuditLog.class).where().ge("id", 10000).delete(); + + String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)"; + SqlUpdate insert = Ebean.createSqlUpdate(sql); + + try (Transaction txn = Ebean.beginTransaction()) { + + insert.setNextParameter(10000); + insert.setNextParameter("hello"); + insert.setNextParameter("rob"); + insert.addBatch(); + + insert.setNextParameter(10001); + insert.setNextParameter("goodbye"); + insert.setNextParameter("rob"); + insert.addBatch(); + + insert.setNextParameter(10002); + insert.setNextParameter("chow"); + insert.setNextParameter("bob"); + insert.addBatch(); + + int[] rows = insert.executeBatch(); + System.out.println("Rows was " + Arrays.toString(rows)); + txn.commit(); }