This is a cache of http://dbflute.seasar.org/ja/manual/function/ormapper/behavior/select/selectcursor.html. It is a snapshot of the page at 2024-11-13T00:24:52.752+0000.
selectCursor(cb) (カーソル検索) | DBFlute

selectCursor(cb)

概要

基本概念

ConditionBeanをもとにカーソル検索 をします。

会話上では、せれくとかーそる と表現します。

実装方法

実装の流れ ※1.1.x (Java8版)

Behaviorの selectCursor() を呼び出し、ConditionBean と EntityRowHandler を指定します。

e.g. selectCursor()の実装手順 (Eclipseでコード補完) {MEMBER} @Java
memberBhv.selCu // .selCu と打って enter
--

// メソッドが補完されて、第一引数の "cblambda" が選択状態に
memberBhv.selectCursor(cblambda, entityLambda);
--

// cbLambdaの部分で、_ll (補完テンプレートが有効なら)
memberBhv.selectCursor(_ll, entityLambda);
--

// Lambda引数名はcbにして...cbの実装はいったん保留
memberBhv.selectCursor(cb -> {
    // あとで
}, entityLambda);
--

// entityLambdaの部分で、_ll (補完テンプレートが有効なら)
memberBhv.selectCursor(cb -> {
    // あとで
}, _ll);
--

// Lambda引数名はEntityの名前 (ここでは member) にして...
memberBhv.selectCursor(cb -> {
    // あとで
}, member -> {
    // あとで
})
--

// cb と Entity (member) の実装を
memberBhv.selectCursor(cb -> {
    cb.query().set... // tabでカーソル移動してcbで検索条件
}, member -> {
    Integer memberId = member.getMemberId();
    String memberName = member.getMemberName();
    ...
})

実装の流れ ※1.0.x (Java6版)

e.g. selectCursor()の実装手順 (Eclipseでコード補完) {MEMBER} @Java
memberBhv.selCu // .selCu と打って enter
--
// メソッドが補完されて、引数の "cb" が選択状態に
memberBhv.selectCursor(cb, entityRowHandler);
--
// 1. tab を一回押して、第二引数の方を選択状態に
// 2. "new " (new + 空白一つ) と打って ctrl + space そして enter
memberBhv.selectCursor(cb, new );
--
// 実装メソッドの空実装が自動生成される (Eclipse-3.5 以上)
memberBhv.selectCursor(cb, new EntityRowHandler<Member>() {
    
    public void handle(Member entity) {
        // TODO Auto-generated method stub
        
    }
})
--
// ctrl (or command) + D で不要な空行やTODOコメントを消して
// 一件ごとにデータを扱うコールバック処理を実装
memberBhv.selectCursor(cb, new EntityRowHandler<Member>() {
    public void handle(Member entity) {
        Integer memberId = entity.getMemberId();
        String memberName = entity.getMemberName();
        ...
    }
});

コールバックの中で登録・更新

コールバックの中で登録・更新処理を行う場合は、トランザクションにご注意下さい。

メソッド仕様

引数

該当のBehaviorに対応するテーブルの ConditionBean (1.1.xよりコールバック) と一件ごとにデータを扱うコールバック処理の実装 EntityRowHandler となります。

ConditionBean および EntityRowHandler が必ず存在することが前提であるため、nullを指定した場合は例外発生します。

戻り値

void です。

オーバーライド

selectList() と同じような要領となります。