Files
ebean/ebean-test/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java
T

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();
}
}
}