この XML 文書は、GenProcedureInlineSample.jet、GenProcedureInlineJunit.jet、GenProcedureInterface.jet、GenProcedureInterfaceJunit.jet、GenProcedureInterfaceTest.jet、または GenProcedureParmBean.jet のテンプレートと共に使用する JET 変換のサンプル入力です。
この XML は、salvalue という IN パラメーターを受け取るストアード・プロシージャー salaryGreater について記述します。
このストアード・プロシージャーは、SALARY が IN パラメーターの値より大きいすべての行を含む結果セットを STAFF 表から返します。
<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
<selection genAlwaysJUnit="false" genIncludeConn="false"
genInlineSample="true" genInterface="true" genInterfaceTest="true"
genSampleUtil="false" genType="genFromProcedure" />
<connection name="SAMPLE1" />
<procedure handlerClass="" includeSchemaInSQL="false"
name="SALARY_GREATER" schema="MYSCHEMA">
<procParameters genBean="true" genPublicFields="false"
importTypes="import java.math.BigDecimal;" name="Salary_greaterParam"
package="myPackage" srcContainer="MyProject/src"
superClass="java.lang.Object">
<parameter javaType="BigDecimal" name="salvalue" parameterMode="1" parameterType="DECIMAL"/>
</procParameters>
<interface importAnnotations=""
importTypes="import java.math.BigDecimal;" interfaceMerge="false"
interfaceName="Salary_greaterData" package="myPackage"
srcContainer="MyProject/src" />
<testCode
importTypes="import java.math.BigDecimal;import java.util.Iterator;"
inlineSampleName="Salary_greaterInlineSample"
interfaceTestName="Salary_greaterDataTest" package="myPackage"
srcContainer="MyProject/src" />
<results>
<resultSet>
<bean genBean="true" genPublicFields="false"
importAnnotations="" importTypes="import java.math.BigDecimal;"
name="Salary_greater" package="myPackage"
srcContainer="MyProject/src" superClass="" />
<fieldInfos>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="ID"
tableName="SALARY_GREATER" />
<parameter accessor="getId()" javaType="short"
name="id" propertyName="id" />
</field>
<field>
<column colLength="" colType="VARCHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="NAME"
tableName="SALARY_GREATER" />
<parameter accessor="getName()"
javaType="String" name="name" propertyName="name" />
</field>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="DEPT"
tableName="SALARY_GREATER" />
<parameter accessor="getDept()" javaType="short"
name="dept" propertyName="dept" />
</field>
<field>
<column colLength="" colType="CHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="JOB"
tableName="SALARY_GREATER" />
<parameter accessor="getJob()" javaType="String"
name="job" propertyName="job" />
</field>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="YEARS"
tableName="SALARY_GREATER" />
<parameter accessor="getYears()"
javaType="short" name="years" propertyName="years" />
</field>
<field>
<column colLength="" colType="DECIMAL"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="SALARY"
tableName="SALARY_GREATER" />
<parameter accessor="getSalary()"
javaType="BigDecimal" name="salary" propertyName="salary" />
</field>
<field>
<column colLength="" colType="DECIMAL"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="COMM"
tableName="SALARY_GREATER" />
<parameter accessor="getComm()"
javaType="BigDecimal" name="comm" propertyName="comm" />
</field>
</fieldInfos>
</resultSet>
</results>
</procedure>
</genCodeData>
- bean
- このタグの属性は、単一の結果セット用に生成される Bean を示します。
- genBean
- 新規 Bean を作成するのか、bean タグで既存の Bean を示すのかを指定します。
- true
- 新規 Bean を作成します。
- false
- bean タグは、既存の Bean を示します。
- genPublicFields
- Bean のプロパティーのアクセス・レベルを指定します。
- 値が true の場合は、Bean のプロパティーは public として生成されます。
- 値が false の場合は、Bean のプロパティーは protected として生成され、get メソッドおよび set メソッドを使用してアクセスできます。
- importAnnotations
- pureQuery アノテーションをインポートするかどうかを指定します。
許容される値は以下のとおりです。
- import com.ibm.pdq.annotation.Column;
- import com.ibm.pdq.annotation.Table;
- Bean の名前が対応するデータベース・オブジェクトの名前と一致しない場合、Bean は Table アノテーションをインポートする必要があります。
- Bean の 1 つ以上のプロパティーの名前がデータベース・オブジェクトの対応する列やパラメーターと一致しない場合には、Bean は Column アノテーションもインポートする必要があります。
- どの列が主キーの一部であるかを示すためにアノテーションを使用したい場合、Bean は ID アノテーションをインポートすることができます。
- importTypes
- どの Java 型をインポートするかを指定します。java.lang.* パッケージに属していないすべての型をインポートしなければなりません。
- name
- Bean の名前を指定します。
- package
- 生成したコードを配置する Java パッケージの名前を指定します。
- srcContainer
- 生成したコードを配置するプロジェクト内のフォルダーを指定します。
- superClass
- Bean のスーパークラスを指定します。
- column
- このタグの属性は、データベース・オブジェクトの列を示します。
- colLength
- 列の長さを指定します。
- colType
- 列の値のデータ・タイプを指定します。
- isAlwaysGenCol
- 列の値を常に生成するかどうかを指定します。
許容される値は true と false です。
- isIdentityCol
- 列が ID 列かどうかを指定します。
許容される値は true と false です。
- isKey
- 列がキー列かどうかを指定します。
許容される値は true と false です。
- isUniqueColName
- 列名が固有のものかどうかを指定します。許容される値は true と false です。
- isUserDefinedType
- 列のタイプがユーザー定義のものかどうかを指定します。許容される値は true と false です。
- name
- 列の名前を指定します。
- tableName
- 列が属する表の名前を指定します。
- connection
- このタグの属性には、使用するデータベース接続の名前を指定します。
- name
- 使用するデータベース接続の名前を指定します。
- field
- このタグ内のタグは、結果セット内の特定の列を単一の結果セットの Bean の特定のプロパティーにマップする方法を示します。
- fieldInfos
- このタグ内のタグは、結果セット内の列を単一の結果セットの Bean のプロパティーにマップする方法を示します。
- interface
- importAnnotations
- 生成されたインターフェースにインポートする pureQuery アノテーションを指定します。許容される値は以下のとおりです。
- import com.ibm.pdq.annotation.Call;
- import com.ibm.pdq.annotation.Select;
- import com.ibm.pdq.annotation.Update;
- import com.ibm.pdq.annotation.Handler;
- importTypes
- どの Java 型をインポートするかを指定します。java.lang.* パッケージに属していないすべての型をインポートしなければなりません。
- interfaceMerge
- 生成するインターフェースに指定した名前がターゲットの
Java プロジェクトに既に存在する Java クラスの名前と一致する場合、既存のクラスの内容を、新しく生成されたインターフェースにマージすることを指定したことになります。
- interfaceName
- アノテーション付きのメソッドのプログラミング・スタイル用に生成するインターフェースの名前を指定します。
- package
- 生成したコードを配置する Java パッケージの名前を指定します。
- srcContainer
- 生成したコードを配置するプロジェクト内のフォルダーを指定します。
- parameter
- このタグの属性は、Bean の特定のプロパティーを示します。
- javaType
- Bean のプロパティーの Java データ・タイプを指定します。
- name
- プロパティーの名前を指定します。
- parameterMode
- パラメーターを IN、INOUT、または OUT パラメーターとして識別する定数。この定数は、JDBC インターフェース parameterMetadata で定義されます。
- parameterType
- パラメーターの Java タイプに対応する SQL タイプを指定します。
- procedure
- このタグの属性は、pureQuery コードの生成元のストアード・プロシージャーと、結果の SQL ステートメントでのストアード・プロシージャーの名前の形式を指定します。
- handlerClass
- ストアード・プロシージャーの結果を処理するのに、独自の CallHandlerWithParameters クラスを使用する場合、パッケージおよびクラス名を指定します。
CallHandlerWithParameter クラスについては、CallHandlerWithParameters<CAL> インターフェースを参照してください。
- includeSchemaInSQL
- 生成する SQL ステートメントにスキーマを含めるかどうかを指定します。
許容される値は true と false です。
- name
- ストアード・プロシージャーの名前を指定します。
- schema
- ストアード・プロシージャーのスキーマを指定します。
- procParameters
- このタグの属性は、生成される Bean を示します。
- genBean
- 新規 Bean を作成するのか、それとも procParameters タグで既存の Bean を示すのかを指定します。
- true
- 新規 Bean を作成します。
- false
- bean タグは、既存の Bean を示します。
- genPublicFields
- Bean のプロパティーのアクセス・レベルを指定します。
- 値が true の場合は、Bean のプロパティーは public として生成されます。
- 値が false の場合は、Bean のプロパティーは protected として生成され、get メソッドおよび set メソッドを使用してアクセスできます。
- importTypes
- どの Java 型をインポートするかを指定します。
- name
- Bean の名前を指定します。
- package
- 生成したコードを配置する Java パッケージの名前を指定します。
- srcContainer
- 生成したコードを配置するプロジェクト内のフォルダーを指定します。
- superClass
- Bean のスーパークラスを指定します。
- results
- このタグ内のタグは、ストアード・プロシージャーが返す可能性のある各結果セット用に生成される Bean を示します。
- resultSet
- このタグ内のタグは単一の結果セット用に生成される Bean を示します。
- selection
- このタグの属性は、この XML で生成する pureQuery コードと、コード生成を開始するウィザードを示します。
- genAlwaysJUnit
- テスト・クラスを JUnit テスト・ケースとして生成するかどうかを指定します。
許容される値は true と false です。
- genIncludeConn
- 生成するテスト・クラスにデータベース接続に関する情報を含めるかどうかを指定します。
許容される値は true と false です。
- genInlineSample
- インライン・プログラミング・スタイルを使用するテスト・クラスを生成するかどうかを指定します。
許容される値は true と false です。
- genInterface
- アノテーション付きのメソッドのプログラミング・スタイルを使用するインターフェースを生成するかどうかを指定します。
許容される値は true と false です。
- genInterfaceTest
- 生成されたインターフェースのインプリメンテーションでメソッドを呼び出すテスト・クラスを生成するかどうかを指定します。
許容される値は true と false です。
- genSampleUtil
- テスト・クラスが実行されるとテスト・クラスによって呼び出される静的メソッドを含むクラスを生成するよう指定します。これらのメソッドは、テスト・クラスの実行結果をコンソール・ビューに表示します。このクラスには、テスト・クラスのためのデータベース接続を確立するコードも含まれます。
- genType
- 「ストアード・プロシージャーに pureQuery コードを生成」ウィザードがコード生成を開始することを指定します。
- testCode
- importTypes
- どの Java 型をインポートするかを指定します。java.lang.* パッケージに属していないすべての型をインポートしなければなりません。
- inlineSampleName
- インライン・プログラミング・スタイル用に生成されるテスト・クラスに与える名前を指定します。
- interfaceTestName
- アノテーション付きのメソッドのプログラミング・スタイル用のテスト・クラスの名前を指定します。
- package
- 生成したコードを配置する Java パッケージの名前を指定します。
- srcContainer
- 生成したコードを配置するプロジェクト内のフォルダーを指定します。