データベース コントロールにメソッドを追加する

このトピックでは、データベース コントロールにメソッドを追加する手順を説明します。

コントロールの詳細については、コントロール : Web サービスからリソースを使用するを参照してください。

データベース コントロールの詳細については、データベース コントロール : Web サービスからデータベースを使用するを参照してください。

データベース コントロールの作成方法については、新しいデータベース コントロールを作成するを参照してください。

データベース コントロールを設計する際に考慮すべき問題については、データベース コントロールの設計の問題を参照してください。

データベース コントロールにメソッドを追加する

データベース コントロール メソッドのパターン

データベース コントロールのメソッドは、必ず Java メソッド定義と SQL データベース処理を関連付けます。データベース処理を定義する SQL 文には、Java メソッドのパラメータ リストから置換するパラメータを含めることもできます。データベース処理の戻り値の型は、Java メソッドの戻り値の型によって決まります。

データベース コントロールのメソッドを定義する場合のパターンを次の例に示します。

/** 
 * @jws:sql statement="UPDATE customer SET address = {customerAddress} WHERE custid={customerID}"
 */
public int changeAddress(int customerID, String customerAddress);

メソッド シグネチャでは、このコントロールのユーザが呼び出し可能なメソッドを宣言します。このコントロールを使用する Web サービスの開発者に便利で役立つ引数と戻り値となるように、このメソッドを設計する必要があります。

@jws:sql タグでは、メソッドに関連付けられる SQL 文を記述しています。SQL 文には、メソッド シグネチャのパラメータ名を参照する置換パラメータを含めることができます。上の例の場合、SQL 文には {customerAddress} {customerID} という置換パラメータが含まれています。これらは、findCustomer メソッドの customerID および customerAddress パラメータへの参照です。メソッドを呼び出すと、参照先のパラメータの値が代入されてから SQL 文が実行されます。置換パラメータでは大文字と小文字が区別されるので、置換するパラメータのスペルおよび大文字/小文字の区別はメソッドのパラメータと正確に一致しなければなりません。

@jws:sql タグの詳細については、@jws:sql タグを参照してください。

デザイン ビューでメソッドを追加する

デザイン ビューで Web サービスを編集し、Web サービスで使用するデータベース コントロールにメソッドを追加する場合、次に示すように、デザイン ビューにあるデータベース コントロールのインスタンスを右クリックすると、メソッドを直接追加できます。

上の例では、CustomerDBClient Web サービスは custDB というインスタンス名を持つデータベース コントロールを使用します。custDB オブジェクトを右クリックすると、[メソッドの追加] オプションが含まれるメニューが表示されます。[メソッドの追加] オプションを選択すると、custDB がインスタンスとなっているデータベース コントロールにメソッドを追加できます。

注意 : Web サービスの JWS ファイルで宣言するデータベース コントロールの変数は、データベース コントロールのインスタンスです。実際のコントロールは CTRL ファイルで定義します。デザイン ビューでメソッドをデータベース コントロールに追加すると、メソッドは CTRL ファイルに追加されます。追加された後に、メソッドはそのデータベース コントロールを使用するすべての Web サービスで使用可能になります。

追加された直後のメソッドは、パラメータを持たず、SQL 文にも関連付けられていません。パラメータ リストと関連する SQL 文を編集するには、次の [SQL およびインタフェースの編集] ダイアログを参照してください。

[SQL およびインタフェースの編集] ダイアログ

[SQL およびインタフェースの編集] ダイアログでは、データベース コントロール メソッドのパラメータ リストと関連する SQL 文をカスタマイズできます。[SQL およびインタフェースの編集] ダイアログを表示するには、カスタマイズするメソッドに関連付けられているマップ アイコンをダブルクリックします。

データベース コントロール メソッドのマップ アイコンを次に示します。

[SQL およびインタフェースの編集] ダイアログを次に示します。

[SQL およびインタフェースの編集] ダイアログではデータベース コントロールのメソッドのすべての側面を編集できます。下側では、このデータベース コントロールを使用する Web サービスで使用可能な Java シグネチャを定義します。上側では、Java メソッドが呼び出された場合に必ず実行される SQL 文を定義します。

データベース コントロール メソッドの SQL 文で使用する置換パラメータのルールについては、@jws:sql 文におけるパラメータの置換を参照してください。

データベース コントロール メソッドによって返されるさまざまな型は、次のデータベース コントロール メソッドの戻り値で定義します。

データベース コントロール メソッドの戻り値

データベース コントロール メソッドは、単一の値、単一の行、または複数の行を返すことができます。

単一の値を返す

一部のデータベース処理は単一の値を返します。そうした処理の例として INSERT および UPDATE 処理があります。これらの処理は、INSERT または UPDATE によって影響する行数を返します。他の例としては、単一行の単一カラムを返す SELECT 処理があります。

単一の値を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから単一の値を返すを参照してください。

単一の行を返す

一部のデータベース処理は単一行から複数のカラムを返します。そうした処理の例としては、単一行のカラムのすべてまたはサブセットを返す SELECT 処理があります。

単一の行を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから単一の行を返すを参照してください。

複数の行を返す

一部のデータベース処理は複数の行から 1 つまたは複数のカラムを返します。そうした処理の例としては、複数行から 1 つまたは複数のカラムを返す SELECT 処理があります。

複数の行を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから複数の行を返すを参照してください。

関連トピック

コントロール : Web サービスからリソースを使用する

データベース コントロール : Web サービスからデータベースを使用する

新しいデータベース コントロールを作成する

既存のデータベース コントロールを使用する

CustomerDBClient.jws サンプル

LuckyNumberDBClient.jws サンプル

DatabaseControl インタフェース