データ参照結果を結果セットのままBeanに移送

Rule定義の書き方

(記述例) 下記の例では、検索結果:USER_LISTをDataBeanに項目名「TEMP_USER_LIST」として移送します。

    <rule id="sample">
     <run>
      <select id="USER_LIST" entity="SYS_USER" type="find">
       <where>
        <data key="USER_CODE" map="USER_CODE" type="eq" def="NULL" />
       </where>
      </select>
     </run>
     <mapping>
      <data map="USER_LIST" key="TEMP_USER_LIST" persistent="native" />
     </mapping>
    </rule>
  

JAVAでの結果セットの使い方

結果セットを1行ずつ処理する方法

(記述例) 下記の例では、検索結果:TEMP_USER_LISTをDataBeanから取得して1行ずつ処理しています。

    try (final EntitySetIF set = (EntitySetIF)super.getObject("TEMP_USER_LIST")) {

        EntityObjectIF row;

        while(set.next())
        {
            row = set.get();

            System.out.println(row.toPersistence());
        }

    } finally {
        super.setObject("TEMP_USER_LIST", null);
    }
  

結果セットを一覧に永続化する方法

(記述例) 下記の例では、検索結果:TEMP_USER_LISTをDataBeanから取得して一覧として永続化しています。
※メモリーの消費に注意してください

    try (final EntitySetIF set = (EntitySetIF)super.getObject("TEMP_USER_LIST")) {

        // 結果を一覧として永続化
        final List list = set.toArray();

        for (final Map row : list)
        {
            System.out.println(row);
        }

    } finally {
        super.setObject("TEMP_USER_LIST", null);
    }
  

©Camel engineering LLP