EzJDBCでiteratorを利用して更新する方法!


EzJDBCでは照会結果を1レコード毎に取得し更新する事ができます。

 // トランザクション開始
 EzTx.begin();
 // テーブル情報インスタンスを生成
 CUSTOMER _CS = new CUSTOMER();
 // CUSTOMERテーブルを照会
 EzJDBC jdbc = EzJDBC.from(_CS).where(_CS.NAME.like("TAKA%"))
                .orderBy(_CS.AGE.desc(),_CS.NAME.asc())
                .limit(10).offset(101);
 // 照会結果をイテレター形式で取得
 JDBCIterator iterator = jdbc.iterator(Customer.class);
 while(iterator.hasNext()) {
   Customer customer = iterator.next();
   ...
   jdbc.to(_CS).update(customer);
 }
 iterator.end();
 // トランザクション終了
 EzTx.end();

EzTxを利用すればトランザクション管理も簡単ですね。。。