Tento dokument XML je ukázkou vstupu pro transformace JET
s šablonami GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet,
GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet
či GenProcedureParmBean.jet.
Formát XML popisuje uloženou proceduru salaryGreater, která využívá
vstupní IN parametr salvalue. Uložená procedura vrací výslednou sadu obsahující všechny
řádky z tabulky STAFF, kde hodnota SALARY je větší než hodnota parametru IN.
<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
<selection genInlineSample="true" genInterface="true" genInterfaceTest="true" genAlwaysJUnit="false"
genIncludeConn="false" genType="genFromProcedure"/>
<connection name="SAMPLE1"/>
<target package="myPackage" project="MyProject" srcContainer="src"/>
<procedure includeSchemaInSQL="true" name="SALARY_GREATER" schema="MSCHEMA">
<procParameters genPublicFields="true" importTypes=""
name="Salary_greaterParam" superClass="">
<parameter javaType="String" name="salvalue"/>
</procParameters>
<codeNames importTypes="import java.sql.BigDecimal;" inlineSampleName="Salary_greaterInlineTest"
interfaceMerge="true" interfaceName="Salary_greaterData" interfaceTestName="Salary_greaterDataTest"/>
<results>
<resultSet>
<bean genPublicFields="true" importAnnotations="import com.ibm.pdq.annotation.Column;"
importTypes="import java.math.BigDecimal;" name="StaffRecord" superClass=""/>
<fieldInfos>
<field>
<column name="COMM"/>
<parameter javaType="BigDecimal" name="comm"/>
</field>
<field>
<column name="DEPT"/>
<parameter javaType="int" name="dept"/>
</field>
<field>
<column name="ID"/>
<parameter javaType="int" name="serial"/>
</field>
<field>
<column name="JOB"/>
<parameter javaType="String" name="job"/>
</field>
<field>
<column name="NAME"/>
<parameter javaType="String" name="name"/>
</field>
<field>
<column name="SALARY"/>
<parameter javaType="BigDecimal" name="salary"/>
</field>
<field>
<column name="YEARS"/>
<parameter javaType="int" name="years"/>
</field>
</fieldInfos>
</resultSet>
</results>
</procedure>
</genCodeData>
- selection
- Atributy této značky popisují, jaký kód pureQuery je generován s pomocí tohoto
dokumentu XML, a dále průvodce, který inicializoval generování kódu.
- genInlineSample
- Určuje, zda má být generována testovací třída využívající styl programování s metodou
inline. Přípustné hodnoty jsou true a false.
- genInterface
- Určuje, zda má být generováno rozhraní využívající styl programování s anotovanými
metodami. Přípustné hodnoty jsou true a false.
- genInterfaceTest
- Určuje, zda má být generována testovací třída vyvolávající metody v nějaké
implementaci generovaného rozhraní. Přípustné hodnoty jsou true a false.
- genAlwaysJUnit
- Určuje, zda mají být generovány testovací třídy jako testovací prvky JUnit. Přípustné hodnoty jsou true a false.
- genIncludeConn
- Určuje, zda má být v generovaných testovacích třídách zařazena informace o připojení
databáze. Přípustné hodnoty jsou true a false.
- genType
- Určuje, že generování kódu inicializuje průvodce Generovat kód pureQuery pro uloženou proceduru.
- connection
- Atribut této značky určuje název připojení k databázi, které má být použito.
- name
- Určuje název připojení k databázi, které má být použito.
- target
- Atributy této značky popisují, kde má být vytvořen generovaný kód v pracovním
prostředí.
- package
- Určuje název balíku
Java,
kam má být umístěn generovaný kód.
- project
- Určuje název projektu
Java,
kam má být umístěn generovaný kód.
- srcContainer
- Určuje složku v rámci projektu, kam má být umístěn generovaný kód.
- procedure
- Atributy této značky označují uloženou proceduru, ze které má být generován kód
pureQuery, a dále způsob formátování názvu uložené procedury ve výsledných příkazech SQL.
- includeSchemaInSQL
- Určuje, zda má být v generovaných příkazech SQL zahrnuto schéma.
Přípustné hodnoty jsou true a false.
- name
- Určuje název uložené procedury.
- schema
- Určuje schéma uložené procedury.
- procParameters
- Atributy této značky popisují generovaný objekt pureQuery bean.
- genPublicFields
- Určuje úroveň přístupu pole objektu bean.
- Hodnota true generuje pole objektu bean jako veřejná.
- Hodnota false generuje pole objektu bean jako chráněná a umožňuje k nim přístup pomocí metod get a set.
- importTypes
- Určuje importované typy Java.
- name
- Určuje název objektu pureQuery bean.
- superClass
- Určuje supertřídu objektu pureQuery bean, pokud byla nějaká určena pomocí průvodce
Generovat kód pureQuery pro uloženou proceduru.
- parameter
- Atributy této značky popisují určité pole objektu pureQuery bean.
- javaType
- Určuje datový typ
Java
pro pole objektu pureQuery bean.
- name
- Určuje název pole.
- codeNames
- Atributy této značky určují názvy používané pro generovaný kód pureQuery.
- importTypes
- Určuje importované typy Java. Je
nutné importovat všechny typy, které nejsou součástí balíku java.lang.*.
- inlineSampleName
- Určuje název, který má být použit pro generovanou testovací třídu pro styl
programování inline-method.
- interfaceMerge
- Určuje, že pokud se určený název rozhraní, které má být generováno, shoduje s názvem
existující třídy Java v cílovém projektu
Java,
má být obsah existující třídy sloučen s nově generovaným rozhraním.
- interfaceName
- Určuje název rozhraní, které má být generováno, pro styl programování
s anotovanými metodami.
- interfaceTestName
- Určuje název testovací třídy pro styl programování s anotovanými
metodami.
- results
- Tyto značky v rámci této značky popisují objekty pureQuery bean, které mají být
generovány, pro každou výslednou sadu, kterou může uložená procedura vrátit.
- resultSet
- Značky v rámci této značky popisují generovaný objekt pureQuery
bean pro jednoduchou výslednou sadu.
- bean
- Atributy této značky popisují generovaný objekt pureQuery bean pro jednoduchou výslednou sadu.
- genPublicFields
- Určuje úroveň přístupu pole objektu bean.
- Hodnota true generuje pole objektu bean jako veřejná.
- Hodnota false generuje pole objektu bean jako chráněná a umožňuje k nim přístup pomocí metod get a set.
- importAnnotations
- Určuje, zda mají být importovány anotace pureQuery. Přípustné jsou tyto hodnoty:
- mport com.ibm.pdq.annotation.Column;
- import com.ibm.pdq.annotation.Table;
- Objekt bean musí importovat anotaci Table,pokud se název objektu bean neshoduje
s názvem odpovídajícího databázového objektu.
- Objekt bean musí také importovat anotaci Column, pokud se jeden nebo více názvů polí
v objektech bean neshodují s odpovídajícími sloupci či parametry v databázovém objektu.
- Objekt bean může importovat anotaci Id, pokud chcete tuto anotaci použít
k zobrazení, které sloupce jsou součástí primárního klíče.
- importTypes
- Určuje importované typy Java. Je nutné importovat všechny typy, které nejsou součástí balíku java.lang.*.
- name
- Určuje název objektu pureQuery bean.
- superClass
- Určuje supertřídu objektu pureQuery bean, pokud byla nějaká určena pomocí průvodce
Generovat kód pureQuery pro tabulku.
- fieldinfos
- Značky v rámci této značky popisují, jak jsou sloupce ve výsledné sadě mapovány na
pole objektu pureQuery bean pro jednoduchou výslednou sadu.
- field
- Značky v rámci této značky popisují, jak je konkrétní sloupec ve výsledné sadě
mapován na konkrétní pole objektu pureQuery bean pro jednoduchou výslednou sadu.
- column
- Atributy této značky popisují sloupec v výsledné sadě.
- name
- Určuje název sloupce.
- parameter
- Atributy této značky popisují určité pole objektu pureQuery bean pro jednoduchou výslednou sadu.
- javaType
- Určuje datový typ
Java
pro pole objektu pureQuery bean pro jednoduchou výslednou sadu.
- name
- Určuje název pole.