Przykładowy plik wejściowy XML dla szablonów JET pureQuery dla procedur składowanych

Ten dokument XML stanowi przykładowe dane wejściowe dla transformacji JET z szablonami GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet lub GenProcedureParmBean.jet.

Dokument XML opisuje procedurę składowaną salaryGreater, która pobiera wartość salvalue parametru IN. Procedura składowana zwraca tabelę wynikową, która zawiera wszystkie wiersze z tabeli STAFF, w których wartość SALARY jest większa niż wartość 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
Atrybuty tego znacznika opisują, jaki kod pureQuery jest generowany z pomocą tego dokumentu XML, a także opisują kreator, który inicjuje generowanie kodu.
genInlineSample
Określa, czy generować klasę testową, która korzysta ze stylu programowania metody wstawianej. Dopuszczalne wartości to true (tak) i false (nie).
genInterface
Określa, czy generować interfejs, który korzysta ze stylu programowania metody z adnotacją. Dopuszczalne wartości to true (tak) i false (nie).
genInterfaceTest
Określa, czy generować klasę testową, która wywołuje metody z implementacji wygenerowanego interfejsu. Dopuszczalne wartości to true (tak) i false (nie).
genAlwaysJUnit
Określa, czy generować klasy testowe jako przypadki testowe JUnit. Dopuszczalne wartości to true (tak) i false (nie).
genIncludeConn
Określ, czy dołączać informacje na temat połączenia z bazą danych do wygenerowanych klas testowych. Dopuszczalne wartości to true (tak) i false (nie).
genType
Określa, że generowanie kodu inicjuje kreator Generowanie kodu pureQuery dla procedury składowanej.
connection
Atrybut tego znacznika określa nazwę połączenia z bazą danych do użycia.
name
Określa nazwę połączenia z bazą danych do użycia.
target
Atrybuty tego znacznika opisują miejsce, w którym ma być utworzony kod generowany w środowisku roboczym.
package
Określa nazwę pakietu Java, w którym ma być umieszczony generowany kod.
project
Określa nazwę projektu Java, w którym ma być umieszczony generowany kod.
srcContainer
Określa folder w projekcie, w którym ma być umieszczony wygenerowany kod.
procedure
Atrybuty tego znacznika wyznaczają procedurę składowaną, na podstawie której ma być generowany kod pureQuery, a także, w jaki sposób formatować nazwę procedury składowanej w wynikowych instrukcjach SQL.
includeSchemaInSQL
Określa, czy do generowanych instrukcji SQL dołączany jest schemat. Dopuszczalne wartości to true (tak) i false (nie).
name
Określa nazwę procedury składowanej.
schema
Określa schemat procedury składowanej.
procParameters
Atrybuty tego znacznika opisują generowany komponent bean pureQuery.
genPublicFields
Określa poziom dostępu do pól komponentu bean.
  • Wartość true powoduje generowanie pól komponentu bean jako pól publicznych.
  • Wartość false powoduje generowanie pól komponentu bean jako pól chronionych, do których dostęp jest możliwy za pomocą metod pobierających i ustawiających.
importTypes
Określa, które typy języka Java mają być importowane.
name
Określa nazwę komponentu bean pureQuery.
superClass
Określa nadklasę komponentu bean pureQuery, jeśli zostanie ona określona w kreatorze Generowanie kodu pureQuery dla procedury składowanej.
parameter
Atrybuty tego znacznika opisują dane pole komponentu bean pureQuery.
javaType
Określa typ danych Java dla pola komponentu bean pureQuery.
name
Określa nazwę pola.
codeNames
Atrybuty tego znacznika określają nazwy używane dla wygenerowanego kodu pureQuery.
importTypes
Określa, które typy języka Java mają być importowane. Zaimportować trzeba wszystkie typy, które nie są częścią pakietu java.lang.*.
inlineSampleName
Określa nazwę dla wygenerowanej klasy testowej dla stylu programowania metody wstawianej.
interfaceMerge
Jeśli określona nazwa interfejsu do wygenerowania jest zgodna z nazwą klasy Java, która już istnieje w docelowym projekcie Java, określa scalanie zawartości istniejącej klasy z nowo wygenerowanym interfejsem.
interfaceName
Określa nazwę interfejsu do wygenerowania dla stylu programowania metody z adnotacją.
interfaceTestName
Określa nazwę klasy testowej dla stylu programowania metody z adnotacją.
results
Znaczniki w tym znaczniku opisują komponenty bean pureQuery do wygenerowania dla każdej tabeli wynikowej, którą może zwrócić procedura składowana.
resultSet
Znaczniki tego znacznika opisują generowany komponent bean pureQuery dla pojedynczej tabeli wynikowej.
bean
Atrybuty tego znacznika opisują generowany komponent bean pureQuery dla pojedynczej tabeli wynikowej.
genPublicFields
Określa poziom dostępu do pól komponentu bean.
  • Wartość true powoduje generowanie pól komponentu bean jako pól publicznych.
  • Wartość false powoduje generowanie pól komponentu bean jako pól chronionych, do których dostęp jest możliwy za pomocą metod pobierających i ustawiających.
importAnnotations
Określa, czy mają być importowane adnotacje pureQuery. Dopuszczalne wartości to:
  • import com.ibm.pdq.annotation.Column;
  • import com.ibm.pdq.annotation.Table;
  • Komponent bean musi importować adnotację Table, jeśli nazwa komponentu bean nie jest zgodna z nazwą odpowiadającego mu obiektu bazy danych.
  • Komponent bean musi importować również adnotację Column, jeśli jedna lub więcej nazw pól w komponencie bean nie jest zgodna z odpowiadającymi im kolumnami lub parametrami w obiekcie bazy danych.
  • Komponent bean może importować adnotację Id, jeśli ta adnotacja ma być wykorzystywana do wskazywania kolumn, które są częścią klucza podstawowego.
importTypes
Określa, które typy języka Java mają być importowane. Zaimportować trzeba wszystkie typy, które nie są częścią pakietu java.lang.*.
name
Określa nazwę komponentu bean pureQuery.
superClass
Określa nadklasę komponentu bean pureQuery, jeśli zostanie ona określona w kreatorze Generowanie kodu pureQuery dla tabeli.
fieldinfos
Znaczniki tego znacznika opisują, w jaki sposób kolumny w tabeli wynikowej są odwzorowywane na pola w komponencie bean pureQuery dla pojedynczej tabeli wynikowej.
field
Znaczniki tego znacznika opisują, w jaki sposób konkretna kolumna w tabeli wynikowej jest odwzorowywana na konkretne pole komponentu bean pureQuery dla pojedynczej tabeli wynikowej.
column
Atrybuty tego znacznika opisują kolumnę w tabeli wynikowej.
name
Określa nazwę kolumny.
parameter
Atrybuty tego znacznika opisują konkretne pole komponentu bean pureQuery dla pojedynczej tabeli wynikowej.
javaType
Określa typ danych Java dla pola komponentu bean pureQuery dla pojedynczej tabeli wynikowej.
name
Określa nazwę pola.
Zadania pokrewne
Tworzenie szablonów JET (Java Emitter Templates) środowiska EMFT (Eclipse Modeling Framework Technologies) do generowania niestandardowego kodu

Opinia