pureQuery JET 템플리트를 사용하는 스토어드 프로시저에 대한 XML 입력 샘플

이 XML 문서는 GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet 또는 GenProcedureParmBean.jet 템플리트를 사용하여 JET 변환을 수행하는 입력 샘플입니다.

이 XML에서는 IN 매개변수 salvalue를 사용하는 스토어드 프로시저 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 특성을 공용으로 생성합니다.
  • false 값은 Bean 특성을 보호됨 상태로 생성하고 get 및 set 메소드를 통해 이 특성에 대한 액세스를 허용합니다.
importAnnotations
pureQuery 어노테이션을 가져올 것인지 여부를 지정합니다. 허용 가능한 값은 다음과 같습니다.
  • mport com.ibm.pdq.annotation.Column;
  • import com.ibm.pdq.annotation.Table;
  • Bean 이름이 이에 대응하는 데이터베이스 오브젝트 이름과 일치하지 않는 경우 Bean은 테이블 어노테이션을 가져와야 합니다.
  • Bean의 특성 이름 중 하나 이상이 데이터베이스 오브젝트에서 이에 대응하는 열 또는 매개변수와 일치하지 않는 경우, Bean은 열 어노테이션도 가져와야 합니다.
  • ID 어노테이션을 사용하여 기본 키에 속하는 열을 표시하려는 경우 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
이 태그 속성에서는 결과로 생성되는 SQL문에서 스토어드 프로시저 이름을 포맷팅하는 방법과 함께 pureQuery 코드를 생성할 때 사용할 스토어드 프로시저를 지정합니다.
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 특성을 공용으로 생성합니다.
  • false 값은 Bean 특성을 보호됨 상태로 생성하고 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
생성된 코드를 배치할 프로젝트에 폴더를 지정합니다.

피드백