ConditionBeanの基本

ConditionBeanとは?

そもそもConditionBeanとは?に関してはこちら

特徴

ConditionBeanは、目的ベースにSQLを組み立てるオブジェクトです。

などの「目的」を指定することで、SQLを安全に実行することが可能する。

実装手順

ex) 基点テーブルを会員(MEMBER)とした場合 @Java
// ## Arrange ##
// = = = = = = = = = = = = = = = = =
// A. 基点テーブルのConditionBeanを生成
//    --> select句, from句)
// = = = = = = = = = = = = = = = = =
MemberCB cb = new MemberCB();// 基点テーブルは「会員」

// = = = = = = = = = = = = = = = =
// B. 取得したい関連テーブルを指定
//    --> select句, from句, join句)
// = = = = = = = = = = = = = = = =
cb.setupSelect_MemberStatus();// 「会員ステータス」を結合してSelect句に展開

// = = = = = = = = = = = = = = = = = = = = = =
// C. 絞り込み条件・ソート条件を設定
//    --> where句, order-by句(, from句, join句)
// = = = = = = = = = = = = = = = = = = = = = =
cb.query().setMemberName_PrefixSearch("S");// 会員名が'S'で始まること
cb.query().addOrderBy_MemberBirthday_Desc();// 会員の生年月日の降順で並べる

// ## Act ##
// = = = = = = = = = = = = =
// D. Behaviorのメソッドを呼ぶ
// = = = = = = = = = = = = =
List<Member> memberList = memberBhv.selectList(cb);// リスト検索

// ## Assert ##
assertNotSame(0, memberList.size());
for (Member member : memberList) {
    log(member.toString());
    assertTrue(member.getMemberName().startsWith("S"));
}

// [SQL]
// select ...
//   from MEMBER member
//     left outer join MEMBER_STATUS status
//       on member.MEMBER_STATUS_CODE = status.MEMBER_STATUS_CODE
//  where member.MEMBER_NAME like 'S%'
//  order by member.MEMBER_BIRTHDAY desc
	

DBFluteBasicExample

詳細な機能や仕様に関しては、DBFluteBasicExampleのExample実装をご覧下さい。

DBアクセスを定番化しよう

gihyo.jp連載の「DBアクセスを定番化しよう」も参考になります。

ConditionBeanのスコープ

ConditionBeanと外だしSQLのどちらを使ったらよいのか迷ったら、ConditionBeanのスコープをご覧下さい。

逆引きConditionBean

目的から機能を逆引くドキュメント:逆引きConditionBean

ConditionBeanのポリシー

ConditionBeanのポリシーについて。※概念的なドキュメントです。