ストアード・プロシージャー用の pureQuery JET テンプレートのサンプル XML 入力

この XML 文書は、GenProcedureInlineSample.jetGenProcedureInlineJunit.jetGenProcedureInterface.jetGenProcedureInterfaceJunit.jetGenProcedureInterfaceTest.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
列の値を常に生成するかどうかを指定します。 許容される値は truefalse です。
isIdentityCol
列が ID 列かどうかを指定します。 許容される値は truefalse です。
isKey
列がキー列かどうかを指定します。 許容される値は truefalse です。
isUniqueColName
列名が固有のものかどうかを指定します。許容される値は truefalse です。
isUserDefinedType
列のタイプがユーザー定義のものかどうかを指定します。許容される値は truefalse です。
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 ステートメントにスキーマを含めるかどうかを指定します。 許容される値は truefalse です。
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 テスト・ケースとして生成するかどうかを指定します。 許容される値は truefalse です。
genIncludeConn
生成するテスト・クラスにデータベース接続に関する情報を含めるかどうかを指定します。 許容される値は truefalse です。
genInlineSample
インライン・プログラミング・スタイルを使用するテスト・クラスを生成するかどうかを指定します。 許容される値は truefalse です。
genInterface
アノテーション付きのメソッドのプログラミング・スタイルを使用するインターフェースを生成するかどうかを指定します。 許容される値は truefalse です。
genInterfaceTest
生成されたインターフェースのインプリメンテーションでメソッドを呼び出すテスト・クラスを生成するかどうかを指定します。 許容される値は truefalse です。
genSampleUtil
テスト・クラスが実行されるとテスト・クラスによって呼び出される静的メソッドを含むクラスを生成するよう指定します。これらのメソッドは、テスト・クラスの実行結果をコンソール・ビューに表示します。このクラスには、テスト・クラスのためのデータベース接続を確立するコードも含まれます。
genType
「ストアード・プロシージャーに pureQuery コードを生成」ウィザードがコード生成を開始することを指定します。
testCode
importTypes
どの Java 型をインポートするかを指定します。java.lang.* パッケージに属していないすべての型をインポートしなければなりません。
inlineSampleName
インライン・プログラミング・スタイル用に生成されるテスト・クラスに与える名前を指定します。
interfaceTestName
アノテーション付きのメソッドのプログラミング・スタイル用のテスト・クラスの名前を指定します。
package
生成したコードを配置する Java パッケージの名前を指定します。
srcContainer
生成したコードを配置するプロジェクト内のフォルダーを指定します。

フィードバック