表やビュー用の pureQuery JET テンプレートのサンプル XML 入力

この XML 文書は、GenTableBean.jetGenTableInlineSample.jetGenTableInterface.jetGenTableInterfaceJUnit.jet、および GenTableInterfaceTest.jet のテンプレートと共に使用する JET 変換のサンプル入力です。

この XML は、DB2® database for Linux, UNIX, and Windows の SAMPLE データベースの STAFF 表を表します。

<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
	<selection genAlwaysJUnit="false" genIncludeConn="false"
		genInlineSample="true" genInterface="true" genInterfaceTest="true"
		genSampleUtil="true" genType="genFromTable" />
	<connection name="SAMPLE1" />
	<table includeSchemaInSQL="false" name="ACT" schema="MYSCHEMA">
		<resultSet>
			<bean genBean="true" genPublicFields="false"
				importAnnotations="import com.ibm.pdq.annotation.Id;" importTypes=""
				name="Act" package="myPackage" srcContainer="MyProject/src"
				superClass="java.lang.Object" />
			<fieldInfos>
				<field>
					<column colLength="(5)" colType="CHAR"
						isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
						isUniqueColName="true" isUserDefinedType="false" name="ACTDESC"
						tableName="ACT" />
					<parameter accessor="getActdesc()" javaType="String"
						name="actdesc" propertyName="actdesc" />
				</field>
				<field>
					<column colLength="(5)" colType="CHAR"
						isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
						isUniqueColName="true" isUserDefinedType="false" name="ACTKWD"
						tableName="ACT" />
					<parameter accessor="getActkwd()" javaType="String"
						name="actkwd" propertyName="actkwd" />
				</field>
				<field>
					<column colLength="(5)" colType="CHAR"
						isAlwaysGenCol="false" isIdentityCol="false" isKey="true"
						isUniqueColName="true" isUserDefinedType="false" name="ACTNO"
						tableName="ACT" />
					<parameter accessor="getActno()" javaType="String"
						name="actno" propertyName="actno" />
				</field>
			</fieldInfos>
		</resultSet>
		<interface importAnnotations="" importTypes=""
			interfaceMerge="false" interfaceName="ActData" package="myPackage"
			srcContainer="MyProject/src" />
		<testCode importTypes="" inlineSampleName="ActInlineSample"
			interfaceTestName="ActDataTest" package="myPackage"
			srcContainer="MyProject/src" />
		<sqlSelections createByObject="true" createByParameters="true"
			deleteByObject="true" deleteByParameters="true" selectAll="true"
			selectByObject="true" selectByParameters="true" updateByObject="true"
			updateByParameters="true" useAsteriskForAllColumns="false" />
	</table>
</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.Id;
  • import com.ibm.pdq.annotation.GeneratedKey;
  • import com.ibm.pdq.annotation.Table;
  • Bean の名前が対応するデータベース・オブジェクトの名前と一致しない場合、Bean は Table アノテーションをインポートする必要があります。
  • Bean の 1 つ以上のプロパティーの名前がデータベース・オブジェクトの対応する列やパラメーターと一致しない場合には、Bean は Column アノテーションもインポートする必要があります。
  • どの列が主キーの一部であるかを示すためにアノテーションを使用したい場合、Bean は ID アノテーションをインポートすることができます。
importTypes
どの Java 型をインポートするかを指定します。
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 の特定のプロパティーを示します。
accessor
列の値を取得するメソッドの名前を指定します。
javaType
Bean のプロパティーの Java データ・タイプを指定します。
name
プロパティーの名前を指定します。
propertyName
Bean のプロパティーの名前を指定します。
result set
selection タグで genTableBean 属性を「false」にした場合、このタグに含まれるタグは、生成した Bean の内容を示します。
selection
このタグの属性は、この XML で生成する pureQuery コードと、コード生成を開始するウィザードを示します。
genAlwaysJUnit
テスト・クラスを JUnit テスト・ケースとして生成するかどうかを指定します。 許容される値は truefalse です。
genIncludeConn
生成するテスト・クラスにデータベース接続に関する情報を含めるかどうかを指定します。 許容される値は truefalse です。
genInlineSample
インライン・プログラミング・スタイルを使用するテスト・クラスを生成するかどうかを指定します。 許容される値は truefalse です。
genInterface
アノテーション付きのメソッドのプログラミング・スタイルを使用するインターフェースを生成するかどうかを指定します。 許容される値は truefalse です。
genInterfaceTest
生成されたインターフェースのインプリメンテーションでメソッドを呼び出すテスト・クラスを生成するかどうかを指定します。 許容される値は truefalse です。
genSampleUtil
テスト・クラスが実行されるとテスト・クラスによって呼び出される静的メソッドを含むクラスを生成するよう指定します。これらのメソッドは、テスト・クラスの実行結果をコンソール・ビューに表示します。このクラスには、テスト・クラスのためのデータベース接続を確立するコードも含まれます。
genType
「表に pureQuery コードを生成」ウィザードがコード生成を開始することを指定します。
sqlSelections
アノテーション付きのメソッドのプログラミング・スタイル用インターフェースを生成する選択をした場合、このタグはアノテーション付きのメソッドを生成して作成する SQL ステートメントを指定します。
createByObject
行をデータベース・オブジェクトに挿入する INSERT ステートメントを生成します。 値は Java オブジェクトで渡されます。
createByParameters
行をデータベース・オブジェクトに挿入する INSERT ステートメントを生成します。 値はそれぞれ別個のパラメーターとして渡されます。
deleteByObject
主キーがある値に等しい行をデータベース・オブジェクトから削除する DELETE ステートメントを生成します。 主キーの値は、オブジェクトで渡されます。
deleteByParameters
主キーがある値に等しい行をデータベース・オブジェクトから削除する DELETE ステートメントを生成します。 主キーの値は、1 つ以上のパラメーターとして渡されます。 主キーがない場合、すべての列がパラメーターとして使用されます。
selectAll
データベース・オブジェクトからすべての行を返す SELECT ステートメントを生成します。
selectByObject
主キーがある値に等しい行をすべてデータベース・オブジェクトから返す SELECT ステートメントを生成します。 値は、オブジェクトで渡されます。 データベース・オブジェクトに主キーがない場合、すべての列がキーとして使用されます。
selectByParameters
主キーがある値に等しい行をデータベース・オブジェクトから返す SELECT ステートメントを生成します。 値はそれぞれ別個のパラメーターとして渡されます。 データベース・オブジェクトに主キーがない場合、すべての列がキーとして使用されます。
updateByObject
データベース・オブジェクトの行の 1 つ以上の値を変更する UPDATE ステートメントを生成します。 値はオブジェクトで渡されます。
updateByParameters
データベース・オブジェクトの行の 1 つ以上の値を変更する UPDATE ステートメントを生成します。 値はそれぞれ別個のパラメーターとして渡されます。 主キーの値は、更新される列の新しい値と共に渡されます。
useAsteriskForAllColumns
データベース・オブジェクトのすべての列から選択する SELECT ステートメントで、列名の代わりにアスタリスクを使用することを指定します。
table
このタグの属性は、pureQuery コードの生成元のデータベース・オブジェクト (別名、マテリアライズ照会表、表、またはビュー) と、結果の SQL ステートメントでのデータベース・オブジェクトの名前の形式を指定します。
includeSchemaInSQL
生成する SQL ステートメントにスキーマを含めるかどうかを指定します。 許容される値は truefalse です。
name
データベース・オブジェクトの名前を指定します。
schema
データベース・オブジェクトのスキーマを指定します。
testCode
importTypes
どの Java 型をインポートするかを指定します。java.lang.* パッケージに属していないすべての型をインポートしなければなりません。
inlineSampleName
インライン・プログラミング・スタイル用に生成されるテスト・クラスに与える名前を指定します。
interfaceTestName
アノテーション付きのメソッドのプログラミング・スタイル用のテスト・クラスの名前を指定します。
package
生成したコードを配置する Java パッケージの名前を指定します。
srcContainer
生成したコードを配置するプロジェクト内のフォルダーを指定します。

フィードバック