クエリビルダ

パッケージ org.seasar.doma.jdbc.builder は SQL ビルダを提供します。

クエリクエリDSL でSQLステートメントを構築することが困難な場合は、 デフォルトメソッド の中でSQLビルダーを使用することを検討してください。

追加

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

更新

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

削除

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