Equal
概要
基本概念
等値条件(=)を設定します。Equal は、絞り込み条件を表す ConditionKey です。
会話上では、いこーる と表現します。文脈上、曖昧で伝わりにくい場合は ConditionBeanのいこーる(条件) などと言うとわかりやすいでしょう。
実装方法
実装の流れ
query() の後、set[column-name]_Equal() を呼び出し、条件値を指定します。
e.g. Equal条件の実装手順 (Eclipseでコード補完) {MEMBER_ID} @Java
MemberCB cb = new MemberCB();
cb.q // .q と打って enter
--
cb.query()
--
// 1. .set まで打つとカラム選択
// 2. MI (MemberId) でカラム確定
// 3. E (Equal) で enter
cb.query().setMIE
--
cb.query().setMemberId_Equal(memberId);
メソッド仕様
基本仕様
- nullや空文字の指定
- 基本仕様の通り、例外(@since 1.1.x) or 無効な条件として素通り (@until 1.0.x) となります。
- 同カラムに対する複数条件の指定
- 基本仕様の通り、例外(@since 1.1.x) or 上書き(@until 1.0.x) となります。
- 同カラムに対する同じ条件値での複数指定
- 基本仕様の通り、例外(@since 1.1.x) or 素通りデバッグログ(@until 1.0.x) となります。
- 大文字小文字の区別
- DBMS、もしくは、DBMSの設定に依存します。
- char型でサイズ不足の値
- char型のカラムに対する条件で、サイズ不足の値に対する、指定された条件値の(両端の)空白の有無による検索結果への影響は、DBMSに依存します。
空文字で等値条件
空文字で等値条件を利用する場合は、ちょっとした手順を踏む必要があります。
サポートされる型
- String
- Number 全般 (IntegerやLongなど)
- Date 全般 (DateやTimestampなど)
- Boolean
- UUID
区分値メソッドの利用
区分値カラムの場合は、区分値メソッドが存在します。
主キーの等値条件
主キー(PK)の等値条件は利用頻度が高いため、抽象化された専用のインターフェースがあります。 通常は、あまり意識して利用する必要はありませんが、例えば、複合PKで幾つも主キー要素があるような場合 に、設定漏れを防ぐことができます。(どのカラムが主キー要素だったのかをメソッドの補完で確認)
e.g. 主キーの等値条件の設定 @Java
FooCB cb = new FooCB();
cb.acceptPrimaryKey(pk1, pk2, pk3, ...);
比較式の順序にこだわり
こまかいこだわりですが、比較式の順序がSQLと一致するようにしています。
- SQL
- MEMBER_ID = 3
- CB
- setMemberId_Equal(3)
"カラム名 + 比較条件 + 条件値" の順序が崩れないように努めました。ConditionBean には、様々な機能があるので、必ずしも一致しないところもありますが、 メソッドインターフェースを決める上での全体の基本ポリシーとしています。