EzJDBCで利用可能な比較演算子!


[追記]表の12番目に「動的に比較演算子を設定」するメソッドの説明を追記しました。


EzJDBCで利用可能な比較演算子について説明したいと思います。

現在利用可能な比較演算子は以下の11種類です。

       比較演算子 method 補足
1= eq(値) 
2!=ne(値) 
3> gt(値) 
4>=ge(値) 
5< lt(値) 
6<=le(値) 
7IS NULLisNull()          eq(null)の場合も同様
8IS NOT NULLisNotNull()  ne(null)の場合も同様
9LIKElike(%値%)   パターンマッチング(メタ文字は利用者が付加する)
likeBegin(値)前方一致(メタ文字は自動セット)
likeAfter(値)後方一致(メタ文字は自動セット)
10INin(値,値...)    比較値は可変長引数
11BETWEENbetween(値,値) 
12任意any("比較演算子",値,値...)比較演算子を動的に設定 

上記以外に同一メソッド名で、比較値の後にbooleanを指定できるメソッドが11種類あります。

引数として指定するbooleanは、動的に抽出条件の対照とするか否かを指定する場合に利用します。


例...WHERE (取引先.住所 LIKE 'TOKYO%')を抽出条件に含めない場合

 // 取引先.住所 LIKE 'TOKYO%'を抽出条件として含めない場合はfalseをセットします。
 boolaen cd = false;
 // テーブル情報インスタンスを生成
 CUSTOMER _CS = new CUSTOMER();
 // CUSTOMERテーブルを照会
 List list = EzJDBC.from(_CS).where(_CS.ADDRESS.like("TOKYO%", cd))
                             .and(_CS.GENDER.eq("男"))
                             .find(Bl.class);

ちなみにちゃんとSQLは「SELECT ... FROM CUSTOMER CS WHERE CS.GENDER = '男'」と出力されますよ。

ちょーかんたんですね(^^)