Tento dokument XML je ukázkou vstupu pro transformace JET s šablonami GenTableBean.jet,
GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet
a GenTableInterfaceTest.jet.
Kód XML popisuje tabulku STAFF v databázi SAMPLE pro databázové prostředí DB2 for Linux,
UNIX, and Windows.
<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
<selection genInlineSample="true" genInterface="true" genInterfaceTest="true" genTableBean="true"
genAlwaysJUnit="false" genIncludeConn="false" genType="genFromTable"/>
<connection name="SAMPLE1"/>
<target package="myPackage" project="MyProject" srcContainer="src"/>
<table includeSchemaInSQL="true" name="STAFF" schema="MYSCHEMA">
<resultSet>
<bean genPublicFields="true" importAnnotations="import com.ibm.pdq.annotation.Column;
import com.ibm.pdq.annotation.Table;import com.ibm.pdq.annotation.Id;"
importTypes="import java.math.BigDecimal;" name="Personnel" superClass=""/>
<fieldInfos>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="COMM"/>
<parameter javaType="BigDecimal" name="comm"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="DEPT"/>
<parameter javaType="int" name="dept"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="true" name="ID"/>
<parameter javaType="int" name="serial"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="JOB"/>
<parameter javaType="String" name="job"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="NAME"/>
<parameter javaType="String" name="name"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="SALARY"/>
<parameter javaType="BigDecimal" name="salary"/>
</field>
<field>
<column isAlwaysGenCol="false" isIdentityCol="false" isKey="false" name="YEARS"/>
<parameter javaType="int" name="years"/>
</field>
</fieldInfos>
</resultSet>
<codeNames importTypes="import java.math.BigDecimal;" inlineSampleName="PersonnelInlineTest"
interfaceMerge="true" interfaceName="PersonnelData" interfaceTestName="PersonnelDataTest"/>
<sqlStatements createByObject="true" createByParameters="true" deleteByObject="true"
deleteByParameters="true" selectAll="true" selectByObject="true" selectByParameters="true"
updateByObject="true" updateByParameters="true" useAsteriskForAllColumns="true"/>
</table>
</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.
- genTableBean
- Určuje, zda má být generován objekt pureQuery založený na definici databázového objektu
(alias, tabulka materializovaného dotazu, tabulka či pohled).
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
tabulku.
- 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.
- tabulka
- Atributy této značky označují databázový objekt (alias, tabulka materializovaného
dotazu, tabulka či pohled), ze kterého má být generován kód pureQuery, a dále způsob
formátování názvu databázového objektu 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 databázového objektu.
- schema
- Určuje schéma databázového objektu.
- result set
- Značky obsažené v této značce popisují obsah generovaného objektu pureQuery bean, pokud
jste ve značce <selection> nastavili atribut genTableBean na hodnotu "false".
- bean
- 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.
- importAnnotations
- Určuje, zda mají být importovány anotace pureQuery. Přípustné jsou tyto hodnoty:
- import com.ibm.pdq.annotation.Column;
- import com.ibm.pdq.annotation.Id;
- import com.ibm.pdq.annotation.GeneratedKey;
- 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.
- 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 v databázovém objektu mapovány
na pole objektu pureQuery bean.
- field
- Značky v rámci této značky popisují, jak je konkrétní sloupec v databázovém objektu
mapován na konkrétní pole objektu pureQuery bean.
- column
- Atributy této značky popisují sloupec v databázovém objektu.
- isAlwaysGenCol
- Určuje, zda jsou hodnoty ve sloupci vždy generovány. Přípustné hodnoty jsou true a false.
- isIdentityCol
- Určuje, zda jde o sloupec s identitou. Přípustné hodnoty jsou true a false.
- isKey
- Určuje, zda jde o klíčový sloupec. Přípustné hodnoty jsou true a false.
- name
- Určuje název sloupce.
- 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.
- sqlStatements
- Pokud zvolíte generování rozhraní pro styl programování s anotovanými metodami, tato značka
popisuje, pro které příkazy SQL budou generovány a vytvořeny anotované metody.
- createByObject
- Generuje příkaz INSERT, který vloží řádek do databázového objektu.
Hodnoty jsou předávány v objektu
Java.
- createByParameters
- Generuje příkaz INSERT, který vloží řádek do databázového objektu.
Každá hodnota je předána jako samostatný parametr.
- deleteByObject
- Generuje příkaz DELETE, který odstraní řádek z databázového objektu. Řádek je určen
podle primárního klíče, který se rovná určité hodnotě. Hodnota primárního klíče je předána
v objektu.
- deleteByParameters
- Generuje příkaz DELETE, který odstraní řádek z databázového objektu. Řádek je určen
podle primárního klíče, který se rovná určité hodnotě. Hodnota primárního klíče je předána jako
jeden nebo několik parametrů. Pokud tabulka nemá primární klíč, použijí se jako parametry
všechny sloupce.
- selectAll
- Generuje příkaz SELECT, který vrací všechny řádky z databázového objektu.
- selectByObject
- Generuje příkaz SELECT, který vrátí všechny řádky z databázového objektu, pro které
se primární klíč rovná určité hodnotě. Hodnota je předávána v objektu. Pokud databázový
objekt nemá primární klíč, jsou jako klíč použity všechny sloupce.
- selectByParameters
- Generuje příkaz SELECT, který vrátí řádek databázového objektu, pro který
se primární klíč rovná určité hodnotě. Každá hodnota je předána jako samostatný parametr. Pokud databázový objekt nemá primární klíč, jsou jako klíč použity všechny sloupce.
- updateByObject
- Generuje příkaz UPDATE, který změní jednu nebo několik hodnot v řádku
databázového objektu. Hodnoty jsou předávány v objektu.
- updateByParameters
- Generuje příkaz UPDATE, který změní jednu nebo několik hodnot v řádku databázového
objektu. Každá hodnota je předána jako samostatný parametr. Hodnoty primárního klíče jsou předány spolu s novými hodnotami aktualizovaných sloupců.
- useAsteriskForAllColumns
- Určuje, že v příkazech SELECT má být místo názvů sloupců použita hvězdička, která
zajistí výběr ze všech sloupců v databázovém objektu.