Ukázka vstupu XML pro šablony pureQuery JET pro uložené procedury

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 truefalse.
genInterface
Určuje, zda má být generováno rozhraní využívající styl programování s anotovanými metodami. Přípustné hodnoty jsou truefalse.
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 truefalse.
genAlwaysJUnit
Určuje, zda mají být generovány testovací třídy jako testovací prvky JUnit. Přípustné hodnoty jsou truefalse.
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 truefalse.
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 truefalse.
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.
Související úlohy
Vytváření šablon JET (Java Emitter Templates) technologie EMFT (Eclipse Modeling Framework Technologies) pro generování přizpůsobeného kódu

Váš názor