Пример ввода XML для шаблонов pureQuery JET хранимых процедур

Этот документ XML - пример ввода преобразования JET с шаблонами GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet или GenProcedureParmBean.jet.

Этот документ XML описывает хранимую процедуру salaryGreater, которая принимает входной параметр salvalue. Эта хранимая процедура возвращает набор результатов, которые содержит все строки из таблицы STAFF, где значение SALARY больше значения входного параметра.

<?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
Атрибуты этого тега описывают, какой код pureQuery генерируется при помощи данного XML, а также указывают мастер, который начинает генерацию кода.
genInlineSample
Задает, надо ли генерировать тестовый класс, использующий стиль программирования со встроенными методами. Допустимые значения - true и false.
genInterface
Задает, надо ли генерировать интерфейс, использующий стиль программирования с аннотированными методами. Допустимые значения - true и false.
genInterfaceTest
Задает, надо ли генерировать тестовый класс, вызывающий методы в реализации сгенерированного интерфейса. Допустимые значения - true и false.
genAlwaysJUnit
Задает, надо ли генерировать тестовые классы как тестовые наборы JUnit. Допустимые значения - true и false.
genIncludeConn
Задает, надо ли включать информацию о соединении с базой данных в сгенерированные тестовые классы. Допустимые значения - true и false.
genType
Указывает, что мастер Сгенерировать код pureQuery для хранимой процедуры начинает генерацию кода.
connection
Атрибут этого тега задает имя используемого соединения с базой данных.
name
Указывает имя используемого соединения с базой данных.
target
Атрибут этого тега указывает, где в инструментальной среде надо создавать сгенерированный код.
package
Задает имя пакета Java, в который надо поместить сгенерированный код.
project
Задает имя проекта Java, в который надо поместить сгенерированный код.
srcContainer
Задает папку в проекте, в которую надо поместить сгенерированный код.
procedure
Атрибуты этого тега указывают хранимую процедуру, из которой генерируется код pureQuery, а также формат имени этой хранимой процедуры в получаемых операторах SQL.
includeSchemaInSQL
Указывает, надо ли включать схему в генерируемые операторы SQL. Допустимые значения - true и false.
name
Задает имя хранимой процедуры.
schema
Задает схему хранимой процедуры.
procParameters
Атрибут этого тега описывает сгенерированную функцию bean pureQuery.
genPublicFields
Задает уровень доступа к полям функции bean.
  • Значение true генерирует поля функции bean как общедоступные.
  • Значение false генерирует поля функции bean как защищенные и разрешает доступ к ним при помощи методов get и set.
importTypes
Задает, какие типы Java импортировать.
name
Задает имя функции bean pureQuery.
superClass
Задает надкласс функции bean pureQuery, если вы указали его в мастере Генерировать код pureQuery для хранимой процедуры.
parameter
Атрибут этого тега описывает конкретное поле функции bean pureQuery.
javaType
Задает тип данных Java для поля функции bean pureQuery.
name
Задает имя поля.
codeNames
Атрибуты этого тега задают имена, используемые в сгенерированном коде pureQuery.
importTypes
Задает, какие типы Java импортировать. Надо импортировать все типы, которые не входят в пакет java.lang.*.
inlineSampleName
Задает имя для сгенерированного тестового класса при использовании стиля программирования со встроенными методами.
interfaceMerge
Если заданное имя генерируемого интерфейса совпадает с именем класса Java, который уже существует в проекте Java назначения, указывает, что надо слить содержимое существующего класса с новым сгенерированным интерфейсом.
interfaceName
Задает имя сгенерированного интерфейса при использовании стиля программирования с аннотированными методами.
interfaceTestName
Задает имя тестового класса при использовании стиля программирования с аннотированными методами.
results
Теги внутри этого тега описывают генерируемые функции beans pureQuery для каждого набора результатов, который может возвратить хранимая процедура.
resultSet
Теги внутри этого тега описывают сгенерированную функцию pureQuery для одного набора результатов.
bean
Атрибуты этого тега описывают сгенерированную функцию pureQuery для одного набора результатов.
genPublicFields
Задает уровень доступа к полям функции bean.
  • Значение true генерирует поля функции bean как общедоступные.
  • Значение false генерирует поля функции bean как защищенные и разрешает доступ к ним при помощи методов get и set.
importAnnotations
Задает, надо ли импортировать аннотации pureQuery. Допустимые значения:
  • import com.ibm.pdq.annotation.Column;
  • import com.ibm.pdq.annotation.Table;
  • Эта функция bean должна импортировать аннотацию Table, если имя функции не совпадает с именем соответствующего объекта базы данных.
  • Эта функция bean должна также импортировать аннотацию Column, если одно или несколько имен полей функции не совпадают с именами соответствующих столбцов или параметров в объекте базы данных.
  • Эта функция bean может импортировать аннотацию Id, если вы хотите использовать эту аннотацию для указания, какие столбцы входят в первичный ключ.
importTypes
Задает, какие типы Java импортировать. Надо импортировать все типы, которые не входят в пакет java.lang.*.
name
Задает имя функции bean pureQuery.
superClass
Задает надкласс функции bean pureQuery, если вы указали его в мастере Генерировать код pureQuery для таблицы.
fieldinfos
Теги внутри этого тега описывают, как столбцы в наборе результатов отображаются на поля функции bean pureQuery для одного набора результатов.
field
Теги внутри этого тега описывают, как конкретный столбец в наборе результатов отображается на конкретное поле функции bean pureQuery для одного набора результатов.
column
Атрибут этого тега описывает столбец в наборе результатов.
name
Задает имя столбца.
parameter
Атрибуты этого тега описывают конкретное поле функции pureQuery для одного набора результатов.
javaType
Задает тип данных Java для поля функции bean pureQuery для одного набора результатов.
name
Задает имя поля.
Задачи, связанные с данной
Создание Java Emitter Templates (JET) Eclipse Modeling Framework Technologies (EMFT) для генерирования настроенного кода

Отзыв