ステップ3: 主キーによるデータの検索と表示

Previous topic
前へ
Next topic
次へ

ビジネス・コンポーネント・バッチ・クライアント・チュートリアルのこのステップでは、CustomerId属性によりCustomerView1ビューの行の用法を検索し、その行のCustomerIdおよびEmail属性を表示します。

このステップを完了する前に、バッチ・クライアントを初期化したことを確認してください。

使用するCustomerIDが、バッチ・クライアントへのコマンドライン引数として提供されます。まず、コマンドライン引数に基づくオブジェクト型oracle.jbo.Keyを作成します。

コマンドラインからCustomerIdを取得し、それに基づくキーを作成するには、次のようにします。

  1. 次のコードを使用して、コマンドライン引数が提供されていることを確認します。main()メソッドの先頭に次のコードを入力します。
    
    if (args.length==0)
    {
      show("Customer ID is required.");
      System.exit(0);
    }
  2. コマンドライン引数に基づくoracle.jbo.Keyを作成します。CustomersView1ビューの用法を検索するコードのすぐ後ろに次のコードを入力します。
    
    Key custKey = new Key(new Object[] {args[0]});

    このキーには1つの部分しかありませんが、Keyコンストラクタは複数の部分からなるキーを持てるようにオブジェクト配列をとります。

次に、このキーに関連付けられた行を取得します。この行は、oracle.jbo.Rowインタフェースを実装するオブジェクトです。

custKeyに関連付けられた行を検索するには、次のようにします。

  1. findByKey()メソッドを使用して、custKeyに関連付けられた行の配列を検索します。custKeyを定義したコードのすぐ後ろに次のコードを入力します。
    
    Row[] customersFound = vo.findByKey(custKey,1);

    custKeyには主キーの全コンポーネントが入るので、関連付けられた行は1つだけですが、キーに属性を指定しないことも可能なのでfindByKey()は行配列を返します。findByKeyの最初の引数はキーで、2番目の引数は返す行の最大値です。

  2. 行が実際に返されたことを確認します。直前に追加したコードのすぐ後ろに次のコードを入力します。
    
    if (customersFound.length==0)
    {
      show("Customer " + args[0] + " not found.");
    }
  3. 行が返された場合は、customersFoundの最初の行(のみ)を取得します。上のif文のすぐ後ろに次のコードを入力します。
    
    else
    {
      Row row_Cust = customersFound[0];
    }

これで、getAttribute()メソッドを使用して、row_Custの属性を表示できます。row_Custは汎用のRowなので、汎用のRowインタフェースのメソッドであるという理由でのみ、getAttribute()を使用できます。このチュートリアルの次のトピックでは、カスタム・メソッドのコール方法を説明します。

顧客のIDおよび電子メール・アドレスを表示するには、次のようにします。

  1. 直前に作成したelseブロックのrow_Custの宣言の後ろに、書式を表示するために次のコードを入力します。
    
    show("Customer");
    show("========");
  2. この2行のコードのすぐ後ろに、顧客IDを表示するために次の行を入力します。
    
    show("ID: " + row_Cust.getAttribute("CustomerId"));
  3. 顧客の電子メール・アドレスを表示するために次の行を入力します。
    
    show("Email: " + row_Cust.getAttribute("CustEmail"));

このバッチ・クライアントは引き続き変更を加えますが、この単純なバージョンでも実行できます。

このプロトタイプのバッチ・クライアントを実行し、保存するには、次のようにします。

  1. ナビゲータで、「batchclient.jpr」を右クリックし、「プロジェクトの設定」を選択します。
  2. 「プロジェクトの設定」ダイアログで、ツリーの「構成」および「Development」の下で、「実行」を選択します。
  3. 「プログラムの引数」フィールドに、101と入力します。

    101がコマンドライン引数として、バッチ・クライアントに渡されます。

  4. 「デフォルトの実行ターゲット」ドロップダウン・リストで、Batch.javaが選択されていることを確認します。
  5. 「OK」をクリックして「プロジェクトの設定」ダイアログを閉じます。
  6. 「実行」->「batchclient.jprの実行」を選択します。

    メッセージ・ビューにプログラムの出力が表示されます。

  7. 「ファイル」->「すべて保存」を選択し、プロジェクトを保存します。

次は、カスタム・ビジネス・ロジック・メソッドの作成とコールを行います。