#1394 #1395 - ENH: Add addBatch() and executeBatch() to SqlUpdate ... alternative to changing transaction batch mode enhancement

This commit is contained in:
rob bygrave
2018-05-30 03:32:23 +12:00
parent c23508819f
commit 23e5de0819
@@ -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();
}