データベース コントロールにメソッドを追加する
このトピックでは、データベース コントロールにメソッドを追加する手順を説明します。
コントロールの詳細については、コントロール : 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 およびインタフェースの編集] ダイアログではデータベース コントロールのメソッドのすべての側面を編集できます。下側では、このデータベース コントロールを使用する Web サービスで使用可能な Java シグネチャを定義します。上側では、Java メソッドが呼び出された場合に必ず実行される SQL 文を定義します。
データベース コントロール メソッドの SQL 文で使用する置換パラメータのルールについては、@jws:sql 文におけるパラメータの置換を参照してください。
データベース コントロール メソッドによって返されるさまざまな型は、次のデータベース コントロール メソッドの戻り値で定義します。
データベース コントロール メソッドは、単一の値、単一の行、または複数の行を返すことができます。
一部のデータベース処理は単一の値を返します。そうした処理の例として INSERT および UPDATE 処理があります。これらの処理は、INSERT または UPDATE によって影響する行数を返します。他の例としては、単一行の単一カラムを返す SELECT 処理があります。
単一の値を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから単一の値を返すを参照してください。
一部のデータベース処理は単一行から複数のカラムを返します。そうした処理の例としては、単一行のカラムのすべてまたはサブセットを返す SELECT 処理があります。
単一の行を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから単一の行を返すを参照してください。
一部のデータベース処理は複数の行から 1 つまたは複数のカラムを返します。そうした処理の例としては、複数行から 1 つまたは複数のカラムを返す SELECT 処理があります。
複数の行を返すデータベース コントロール メソッドの記述方法については、データベース コントロール メソッドから複数の行を返すを参照してください。