目次 > 第2章 バッチフレームワークチュートリアル > 2.2 データベースアクセス機能を用いた単純なジョブ > 2.2.4 対象データ取得処理の準備
2.2.4 対象データ取得処理の準備
本節では、ビジネスロジックの処理対象データである入力パラメータの作成方法について説明する。
処理内容
- “入金テーブル”を読み込む。
- 取得したデータを入力パラメータクラスに設定する。
設計情報例
ジョブ定義例
手順
1. “JB0001Data.java”を作成
ビジネスロジックの引数となる入力パラメータクラスを作成する。必ず、属性の名前と型がSELECT句で取得するデータと一致するよう定義すること。
また、各属性のgetter/setterを定義する必要がある。フレームワークから使用されるため、Javaの規約に準拠したメソッドを定義すること。
- パッケージエクスプローラビューで、“jp.terasoluna.batch.tutorial.uc0001”パッケージを右クリックする。
- 「新規」→「クラス」を選択し、名前に“JB0001Data”を入力し、「終了」を押下する。
- “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 対象データ取得機能』