SqlConst

フレームワーク部品 [com.onepg.db]

← クラス一覧に戻る

クラス情報

パッケージ: com.onepg.db

クラス名: SqlConst

継承: SqlBean

説明

固定SQL.
  • SQL文字列とバインド項目定義(項目名と型)を格納します。
  • SQL実行時には、バインド値を持つパラメーターをこのSQLと共に渡します。
  • 同じ項目名を同じ型で複数回バインド可能です。
  • バインド項目が無い場合は、そのまま使用します。
[SQL宣言例1]SqlConst SQL_INS_PET = SqlConst.begin()
    .addQuery("INSERT INTO t_pet ( ")
    .addQuery("  pet_no ")
    .addQuery(", pet_nm ")
    .addQuery(", birth_dt ")
    .addQuery(", ins_ts ")
    .addQuery(", upd_ts ")
    .addQuery(" ) VALUES ( ")
    .addQuery("  ? ", "pet_no", BindType.BigDecimal)
    .addQuery(", ? ", "pet_nm", BindType.String)
    .addQuery(", ? ", "birth_dt", BindType.Date)
    .addQuery(", ? ", "now_ts", BindType.Timestamp)
    .addQuery(", ? ", "now_ts", BindType.Timestamp)
    .addQuery(" ) ")
    .end();
[SQL実行例1] SqlUtil.executeOne(conn, SQL_INS_PET.bind(io));
[SQL宣言例2]SqlConst SQL_SEL_USER = SqlConst.begin()
    .addQuery("SELECT ")
    .addQuery("  u.user_id ")
    .addQuery(", u.user_nm ")
    .addQuery(", u.email ")
    .addQuery(", u.birth_dt ")
    .addQuery(" FROM t_user u ")
    .addQuery(" ORDER BY u.user_id ")
    .end();
[SQL実行例2] SqlResultSet rSet = SqlUtil.select(getDbConn(), SQL_SEL_USER);

列挙型一覧

BindType

public enum BindType
バインド型.
  • SQLにバインドする際の型を示します。
  • 数値の型は BigDecimal に統一されます。

定数

  • STRING
  • BIGDECIMAL
  • DATE
  • TIMESTAMP

メソッド一覧

begin

public SqlConstBuilder begin()
固定SQLビルダーインスタンス生成.

戻り値

SqlConstBuilder - 固定SQLビルダーインスタンス

bind

public SqlBean bind(AbstractIoTypeMap params)
バインド値セット.
  • 格納しているSQL文字列と、引数として受け取ったパラメーター値マップを SQL Bean にセットして返します。
  • パラメーター値マップからバインド項目名リストとバインド項目定義マップをもとにバインド値リストを作成して SQL Bean にセットします。
  • バインド値リストの要素は Object とし、各項目値はバインド項目定義に沿った型で格納されます。
  • パラメーター値マップにバインド項目名が存在しなければ実行時エラーとなります。

パラメータ

名前 説明
params AbstractIoTypeMap パラメーター値マップ

戻り値

SqlBean - SQL Bean

end

public SqlConst end()
固定SQL返却.

戻り値

SqlConst - 固定SQL

addQuery

public SqlConstBuilder addQuery(String sql)
SQL追加.
  • 2文字以上のブランクを1文字ブランクに置き換えて追加します。

パラメータ

名前 説明
sql String SQL

戻り値

SqlConstBuilder - 自インスタンス

addQuery

public SqlConstBuilder addQuery(String sql, String itemName, BindType bindType)
SQL&バインド項目定義(項目名と型)追加.
  • SQL文字列内にバインドプレースホルダー ? を1つだけ含む必要があります。
  • バインド項目名は Io オブジェクトキーとして有効な値である必要があります。(AbstractIoTypeMap のキールール)

パラメータ

名前 説明
sql String SQL
itemName String バインド項目名
bindType BindType バインド型

戻り値

SqlConstBuilder - 自インスタンス