Query builders

The package org.seasar.doma.jdbc.builder provides SQL builders.

When it is difficult to build a SQL statement with Queries or Unified Criteria API, consider to use the SQL builders in Default method.

Insert

void doSomething() {
    InsertBuilder builder = InsertBuilder.newInstance(config);
    builder.sql("insert into Emp");
    builder.sql("(name, salary)");
    builder.sql("values (");
    builder.param(String.class, "SMITH").sql(", ");
    builder.param(BigDecimal.class, new BigDecimal(1000)).sql(")");
    builder.execute();
}

Update

void doSomething() {
    UpdateBuilder builder = UpdateBuilder.newInstance(config);
    builder.sql("update Emp");
    builder.sql("set");
    builder.sql("name = ").param(String.class, "SMIHT").sql(",");
    builder.sql("salary = ").param(BigDecimal.class, new BigDecimal("1000"));
    builder.sql("where");
    builder.sql("id = ").param(int.class, 10);
    builder.execute();
}

Delete

void doSomething() {
    DeleteBuilder builder = DeleteBuilder.newInstance(config);
    builder.sql("delete from Emp");
    builder.sql("where");
    builder.sql("name = ").param(String.class, "SMITH");
    builder.sql("and");
    builder.sql("salary = ").param(BigDecimal.class, new BigDecimal(1000));
    builder.execute();
}