目次 > 第2章 バッチフレームワークチュートリアル > 2.2 データベースアクセス機能を用いた単純なジョブ > 2.2.4 対象データ取得処理の準備

2.2.4 対象データ取得処理の準備

本節では、ビジネスロジックの処理対象データである入力パラメータの作成方法について説明する。

処理内容

2.2.4 対象データ取得処理の準備

  1. “入金テーブル”を読み込む。
  2. 取得したデータを入力パラメータクラスに設定する。

設計情報例

ジョブ定義例

対象データ取得処理

手順

1. “JB0001Data.java”を作成

ビジネスロジックの引数となる入力パラメータクラスを作成する。必ず、属性の名前と型がSELECT句で取得するデータと一致するよう定義すること。
また、各属性のgetter/setterを定義する必要がある。フレームワークから使用されるため、Javaの規約に準拠したメソッドを定義すること。

  1. パッケージエクスプローラビューで、“jp.terasoluna.batch.tutorial.uc0001”パッケージを右クリックする。
  2. 「新規」→「クラス」を選択し、名前に“JB0001Data”を入力し、「終了」を押下する。
  3. “JB0001Data.java”を以下のように作成する。
/* 
 * Copyright (c) 2007 NTT DATA Corporation
 * 
 */
package jp.terasoluna.batch.tutorial.uc0001;

import java.util.Date;

/**
 * “入金テーブル”の結果格納クラス。
 */
public class JB0001Data {

    /**
     * 取引ID
     */
    private int id = 0;

    /**
     * 支店
     */
    private String siten = null;

    /**
     * 顧客ID
     */
    private String kokyakuid = null;

    /**
     * 入金金額
     */
    private int nyukin = 0;

    /**
     * 取引日
     */
    private Date torihikibi = null;

    /**
     * 取引IDを返却する。
     * @return 取引ID
     */
    public int getId() {
        return id;
    }

    /**
     * 取引IDを設定する。
     * @param id 取引ID
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 支店を返却する。
     * @return 支店
     */
    public String getSiten() {
        return siten;
    }

    /**
     * 支店を設定する。
     * @param siten 支店
     */
    public void setSiten(String siten) {
        this.siten = siten;
    }
    
    /**
     * 顧客IDを返却する。
     * @return 顧客ID
     */
    public String getKokyakuid() {
        return kokyakuid;
    }

    /**
     * 顧客IDを設定する。
     * @param kokyakuid 顧客ID
     */
    public void setKokyakuid(String kokyakuid) {
        this.kokyakuid = kokyakuid;
    }

    /**
     * 入金金額を返却する。
     * @return 入金金額
     */
    public int getNyukin() {
        return nyukin;
    }

    /**
     * 入金金額を設定する。
     * @param nyukin 入金金額
     */
    public void setNyukin(int nyukin) {
        this.nyukin = nyukin;
    }

    /**
     * 取引日を返却する。
     * @return 取引日
     */
    public Date getTorihikibi() {
        return torihikibi;
    }

    /**
     * 取引日を設定する。
     * @param torihikibi 取引日
     */
    public void setTorihikibi(Date torihikibi) {
        this.torihikibi = torihikibi;
    }
}

2. “UC0001_sqlMap.xml”を編集

“入金テーブル”のデータを取得するSQLを定義する。
“resultClass”には手順1で作成した“JB0001Data”を指定する。以下の定義を<sqlMap></sqlMap>内に追加する。

<select id="getNyukinData" resultClass="jp.terasoluna.batch.tutorial.uc0001.JB0001Data">
    SELECT ID, SITEN, KOKYAKUID, NYUKIN, TORIHIKIBI FROM NYUKINTABLE ORDER BY ID
</select>

3. “JB0001.xml”を編集

“JB0001.xml”に対象データ取得処理の定義を追加する。
手順2で定義したSQLを“sql”プロパティに設定する。以下の定義を<beans></beans>内に追加する。

<!-- コレクター定義 -->
<bean id="collector" parent="IBatisDbChunkCollector">
    <property name="sql" value="UC0001.getNyukinData" />
</bean>

“collector”はBatch版が規定する固定のBeanであり、“IBatisDbChunkCollector”はBatch版が規定するDBアクセス用のコレクターBeanである。

参考資料
  • 『BD-02 対象データ取得機能』

次項:2.2.5 ビジネスロジックの実装

Copyright (C) 2007-2011 NTT DATA CORPORATION