selectPage(cb)
概要
基本概念
ConditionBean でページング検索 をします。
会話上では、せれくとぺーじ と表現します。
実装方法
実装の流れ ※1.1.x (Java8版)
まずは、ConditionBean で paging() を呼び出し、ページサイズと検索対象のページ番号を設定します。 そして、Behaviorの selectPage() を呼び出し、その ConditionBean を指定します。
e.g. selectPage()の実装手順 (Eclipseでコード補完) {MEMBER} @Java
int currentPageNumber = 3; // 実業務では、画面などで指定されたページ番号など
memberBhv.selP // .selP と打って enter
--
// メソッドが補完されて、引数の "cbLambda" が選択状態に
memberBhv.selectPage(cbLambda);
--
// cbLambdaの部分で、_ll (補完テンプレートが有効なら)
memberBhv.selectPage(_ll);
--
// Lambda引数名はcbにして...
memberBhv.selectPage(cb -> {
cb.query().set... // tabでカーソル移動してcbで検索条件
})
--
// paging()メソッドを呼び出す
memberBhv.selectPage(cb -> {
cb.query().set... // tabでカーソル移動してcbで検索条件
cb.paging(20, currentPageNumber); // 1 ページ 20 件で 3 ページ目を検索対象に
})
--
// セミコロン ';' を打って ctrl+2, L で戻り値補完
PagingResultBean<Member> memberPage = memberBhv.selectPage(cb -> {
cb.query().set... // tabでカーソル移動してcbで検索条件
cb.paging(20, currentPageNumber); // 1 ページ 20 件で 3 ページ目を検索対象に
});
--
// PagingResultBeanを使って、ページングナビゲーションをいい感じに
PagingResultBean<Member> memberPage = memberBhv.selectPage(cb -> {
cb.query().set...
cb.paging(20, currentPageNumber);
});
int allRecordCount = memberPage.getAllRecordCount();
int allPageCount = memberPage.getAllPageCount();
for (Member member : memberPage) { // java.util.Listなのでそのままループ
...
}
...
実装の流れ ※1.0.x (Java6版)
e.g. selectPage()の実装手順 (Eclipseでコード補完) {MEMBER} @Java
int currentPageNumber = 3; // 実業務では、画面などで指定されたページ番号など
MemberCB() cb = new MemberCB();
cb.setupSelect_MemberStatus();
cb.query().addOrderBy_Birthdate_Desc();
cb.paging(20, currentPageNumber); // 1 ページ 20 件で 3 ページ目を検索対象に
memberBhv.selP // .selP と打って enter
--
// セミコロン ';' を打って ctrl(or command) + 2 そして L
memberBhv.selectPage(cb);
--
PagingResultBean<Member> memberPage = memberBhv.selectPage(cb);
int allRecordCount = memberPage.getAllRecordCount();
int allPageCount = memberPage.getAllPageCount();
for (Member member : memberPage) {
...
}
...
メソッド仕様
引数
該当のBehaviorに対応するテーブルの ConditionBean となります。(1.1.xよりコールバック)
ConditionBeanが必ず存在することが前提であるため、nullを指定した場合は例外発生します。 検索条件がない検索をする場合でも、必ずConditionBeanのインスタンスが必要です。
戻り値
該当のBehaviorに対応するテーブルの PagingResultBean となります。
検索結果が一件もない場合でも null にはならず、空のPagingResultBean(空のリスト)となります。
ページング条件未設定
ConditionBean の paging() でページング条件が設定されていないで呼び出されると例外となります。
オーバーライド
selectList() と同じような要領となります。