이 XML은 GenTableBean.jet, GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet
및 GenTableInterfaceTest.jet 템플리트를 사용하여 JET 변환을 수행하는 입력 샘플입니다.
이 XML에서는
Linux, UNIX 및
Windows용
DB2® 데이터베이스의
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 특성을 공용으로 생성합니다.
- false 값은 Bean 특성을 보호됨 상태로 생성하고 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은 테이블 어노테이션을 가져와야 합니다.
- Bean의 특성 이름 중 하나 이상이 데이터베이스 오브젝트에서 이에 대응하는
열 또는 매개변수와 일치하지 않는 경우, Bean은 열 어노테이션도 가져와야 합니다.
- ID 어노테이션을 사용하여 기본 키에 속하는 열을 표시하려는 경우 Bean은 ID 어노테이션을
가져올 수 있습니다.
- importTypes
- 가져올
Java
유형을 지정합니다.
- 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의 특정 특성을 설명합니다.
- accessor
- 열 값을 검색하는 메소드의 이름을 지정합니다.
- javaType
- Bean의 특성에 대한 Java 데이터 유형을 지정합니다.
- name
- 특성의 이름을 지정합니다.
- propertyName
- Bean 특성의 이름을 지정합니다.
- result set
- selection 태그에서 genTableBean 속성을
"false"로 설정하는 경우 이 태그가 포함된 태그에서는 생성된 Bean의 컨텐츠를 설명합니다.
- selection
- 이 태그 속성에서는 코드 생성을 시작하는 마법사와 함께 이 XML로 생성되는 pureQuery 코드를 설명합니다.
- genAlwaysJUnit
- 테스트 클래스를 JUnit 테스트 케이스로 생성할 것인지 여부를 지정합니다. 허용 가능한 값은 true 및
false입니다.
- genIncludeConn
- 생성된 테스트 클래스에서 데이터베이스 연결에 대한 정보를 포함할 것인지 여부를
지정합니다. 허용 가능한 값은 true 및
false입니다.
- genInlineSample
- 인라인 메소드 프로그래밍 스타일을 사용하는 테스트 클래스를 생성할 것인지 여부를
지정합니다. 허용 가능한 값은 true 및
false입니다.
- genInterface
- 어노테이션이 있는 메소드 프로그래밍 스타일을 사용하는 인터페이스를 생성할 것인지 여부를
지정합니다. 허용 가능한 값은 true 및
false입니다.
- genInterfaceTest
- 생성된 인터페이스 구현에서 메소드를 호출하는 테스트 클래스를 생성할 것인지 여부를
지정합니다. 허용 가능한 값은 true 및
false입니다.
- genSampleUtil
- 테스트 클래스를 실행할 때 테스트 클래스에서 호출하는 정적 메소드를 포함하는
클래스를 생성하도록 지정합니다. 이러한 메소드는 테스트 클래스 실행 결과를 콘솔 보기에
보여줍니다. 이 클래스는 테스트 클래스에 대한 데이터베이스 연결을 설정하는 코드도 포함합니다.
- genType
- 테이블에서 pureQuery 코드 생성 마법사가
코드 생성을 시작하도록 지정합니다.
- sqlSelections
- 어노테이션이 있는 메소드 프로그래밍 스타일을 사용하여 인터페이스를 생성하려는 경우
이 태그에서는 어노테이션이 있는 메소드를 생성 및 작성할 SQL문을 설명합니다.
- createByObject
- 데이터베이스 오브젝트로 행을 삽입하는 INSERT문을 생성합니다. 값은
Java
오브젝트에 전달됩니다.
- createByParameters
- 데이터베이스 오브젝트로 행을 삽입하는 INSERT문을 생성합니다. 각 값은 별도의 매개변수로 전달됩니다.
- deleteByObject
- 기본 키가 특정 값과 같은 경우 데이터베이스 오브젝트에서 행을 삭제하는
DELETE문을 생성합니다. 기본 키 값은 오브젝트에 전달됩니다.
- deleteByParameters
- 기본 키가 특정 값과 같은 경우 데이터베이스 오브젝트에서 행을 삭제하는
DELETE문을 생성합니다. 기본 키 값은 하나 이상의 매개변수로 전달됩니다. 기본
키가 없는 경우 모든 열이 매개변수로 사용됩니다.
- selectAll
- 데이터베이스 오브젝트의 모든 행을 리턴하는 SELECT문을 생성합니다.
- selectByObject
- 기본 키가 특정 값과 같은 경우 데이터베이스 오브젝트의 모든 행을 리턴하는
SELECT문을 생성합니다. 값은 오브젝트에 전달됩니다. 데이터베이스 오브젝트에 기본
키가 없는 경우 모든 열이 키로 사용됩니다.
- selectByParameters
- 기본 키가 특정 값과 같은 경우 데이터베이스 오브젝트에서 행을 리턴하는
SELECT문을 생성합니다. 각 값은 별도의 매개변수로 전달됩니다. 데이터베이스 오브젝트에 기본
키가 없는 경우 모든 열이 키로 사용됩니다.
- updateByObject
- 데이터베이스 오브젝트의 행에서 하나 이상의 값을 변경하는 UPDATE문을
생성합니다. 값은 오브젝트에 전달됩니다.
- updateByParameters
- 데이터베이스 오브젝트의 행에서 하나 이상의 값을 변경하는 UPDATE문을
생성합니다. 각 값은 별도의 매개변수로 전달됩니다. 기본 키 값은 업데이트된 열의 새 값과 함께 전달됩니다.
- useAsteriskForAllColumns
- SELECT문에서 열 이름 대신 데이터베이스 오브젝트의 모든 열에서 선택하는 별표를
사용할 것인지 여부를 지정합니다.
- table
- 이 태그 속성에서는 결과로 생성되는 SQL문에서 데이터베이스 오브젝트 이름을 포맷팅하는 방법과 함께
pureQuery 코드를 생성할 때 사용할 데이터베이스 오브젝트(별명, 구체화된 쿼리 테이블, 테이블 또는 보기)를 지정합니다.
- includeSchemaInSQL
- 생성된 SQL문에서 스키마를 포함할 것인지 여부를 지정합니다.
허용 가능한 값은 true 및
false입니다.
- name
- 데이터베이스 오브젝트 이름을 지정합니다.
- schema
- 데이터베이스 오브젝트 스키마를 지정합니다.
- testCode
- importTypes
- 가져올
Java
유형을 지정합니다. java.lang.* 패키지에 속하지 않는 모든 유형을 가져와야 합니다.
- inlineSampleName
- 인라인 프로그래밍 스타일을 사용하여 생성된 테스트 클래스에 부여할 이름을
지정합니다.
- interfaceTestName
- 어노테이션이 있는 메소드 프로그래밍 스타일에서 사용할 테스트 클래스 이름을 지정합니다.
- package
- 생성된 코드를 배치할
Java
패키지 이름을 지정합니다.
- srcContainer
- 생성된 코드를 배치할 프로젝트에 폴더를 지정합니다.