mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
129 lines
3.3 KiB
Java
129 lines
3.3 KiB
Java
package org.tests.rawsql;
|
|
|
|
import io.ebean.xtest.BaseTestCase;
|
|
import io.ebean.DB;
|
|
import io.ebean.SqlUpdate;
|
|
import io.ebean.Transaction;
|
|
import io.ebeaninternal.api.SpiTransaction;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.tests.idkeys.db.AuditLog;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
|
|
public class TestInsertSqlLogging extends BaseTestCase {
|
|
|
|
@Test
|
|
public void test() {
|
|
|
|
DB.find(AuditLog.class).where().ge("id", 10000).delete();
|
|
|
|
String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)";
|
|
SqlUpdate insert = DB.sqlUpdate(sql);
|
|
|
|
try (Transaction txn = DB.beginTransaction()) {
|
|
txn.setBatchMode(true);
|
|
txn.setBatchSize(2);
|
|
|
|
insert.setParameter(10000);
|
|
insert.setParameter("hello");
|
|
insert.setParameter("rob");
|
|
insert.execute();
|
|
|
|
insert.setParameter(10001);
|
|
insert.setParameter("goodbye");
|
|
insert.setParameter("rob");
|
|
insert.execute();
|
|
|
|
insert.setParameter(10002);
|
|
insert.setParameter("chow");
|
|
insert.setParameter("bob");
|
|
insert.execute();
|
|
|
|
txn.commit();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void addBatch_executeBatch() {
|
|
|
|
DB.find(AuditLog.class).where().ge("id", 10000).delete();
|
|
|
|
String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)";
|
|
SqlUpdate insert = DB.sqlUpdate(sql);
|
|
|
|
try (Transaction txn = DB.beginTransaction()) {
|
|
|
|
insert.setParameter(10000);
|
|
insert.setParameter("hello");
|
|
insert.setParameter("rob");
|
|
insert.addBatch();
|
|
|
|
insert.setParameter(10001);
|
|
insert.setParameter("goodbye");
|
|
insert.setParameter("rob");
|
|
insert.addBatch();
|
|
|
|
insert.setParameter(10002);
|
|
insert.setParameter("chow");
|
|
insert.setParameter("bob");
|
|
insert.addBatch();
|
|
|
|
int[] rows = insert.executeBatch();
|
|
System.out.println("Rows was " + Arrays.toString(rows));
|
|
|
|
txn.commit();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void addBatch_namedParams() {
|
|
|
|
DB.find(AuditLog.class).where().ge("id", 10000).delete();
|
|
|
|
String sql = "insert into audit_log (id, description, modified_description) values (:id, :desc, :modDesc)";
|
|
SqlUpdate insert = DB.sqlUpdate(sql);
|
|
|
|
try (Transaction txn = DB.beginTransaction()) {
|
|
|
|
insert.setParameter("id", 20000);
|
|
insert.setParameter("desc", "hello");
|
|
insert.setParameter("modDesc", "rob");
|
|
insert.addBatch();
|
|
|
|
insert.setParameter("id", 20001);
|
|
insert.setParameter("desc", "goodbye");
|
|
insert.setParameter("modDesc", "rob");
|
|
insert.addBatch();
|
|
|
|
insert.setParameter("id", 20002);
|
|
insert.setParameter("desc", "chow");
|
|
insert.setParameter("modDesc", "bob");
|
|
insert.addBatch();
|
|
|
|
int[] rows = insert.executeBatch();
|
|
System.out.println("Rows was " + Arrays.toString(rows));
|
|
|
|
txn.commit();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void test_trim_leadingSpaces_eventFound() {
|
|
|
|
Transaction transaction = DB.beginTransaction();
|
|
try {
|
|
String upd = " update audit_log set description='junk' where id = 10001";
|
|
SqlUpdate update = DB.sqlUpdate(upd);
|
|
update.execute();
|
|
transaction.commit();
|
|
|
|
assertFalse(((SpiTransaction) transaction).event().eventTables().isEmpty());
|
|
|
|
} finally {
|
|
transaction.end();
|
|
}
|
|
}
|
|
}
|