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

Этот документ XML - пример ввода для преобразований JET с шаблонами GenTableBean.jet, GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet и GenTableInterfaceTest.jet.

Данный документ XML описывает таблицу STAFF в базе данных SAMPLE для DB2 для Linux, UNIX и 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
Атрибуты этого тега описывают, какой код pureQuery генерируется при помощи данного XML, а также указывают мастер, который начинает генерацию кода.
genInlineSample
Задает, надо ли генерировать тестовый класс, использующий стиль программирования со встроенными методами. Допустимые значения - true и false.
genInterface
Задает, надо ли генерировать интерфейс, использующий стиль программирования с аннотированными методами. Допустимые значения - true и false.
genInterfaceTest
Задает, надо ли генерировать тестовый класс, вызывающий методы в реализации сгенерированного интерфейса. Допустимые значения - true и false.
genTableBean
Задает, надо ли генерировать функцию bean pureQuery на основе определения объекта базы данных (алиаса, материализованной таблицы запросов, таблицы или производной таблицы). Допустимые значения - true и false.
genAlwaysJUnit
Задает, надо ли генерировать тестовые классы как тестовые наборы JUnit. Допустимые значения - true и false.
genIncludeConn
Задает, надо ли включать информацию о соединении с базой данных в сгенерированные тестовые классы. Допустимые значения - true и false.
genType
Указывает, что мастер Сгенерировать код pureQuery для таблицы начинает генерацию кода.
connection
Атрибут этого тега задает имя используемого соединения с базой данных.
name
Указывает имя используемого соединения с базой данных.
target
Атрибут этого тега указывает, где в инструментальной среде надо создавать сгенерированный код.
package
Задает имя пакета Java, в который надо поместить сгенерированный код.
project
Задает имя проекта Java, в который надо поместить сгенерированный код.
srcContainer
Задает папку в проекте, в которую надо поместить сгенерированный код.
table
Атрибуты этого тега указывают объект базы данных (алиас, материализованную таблицу запросов, таблицу или производной таблицу), из которой генерируется код pureQuery, а также формат имени этого объекта базы данных в получаемых операторах SQL.
includeSchemaInSQL
Указывает, надо ли включать схему в генерируемые операторы SQL. Допустимые значения - true и false.
name
Задает имя объекта базы данных.
schema
Задает схему объекта базы данных.
resultSet
Теги внутри этого тега описывают содержимое сгенерированной функции bean pureQuery, если в теге <selection> вы задали для атрибута genTableBean значение "false".
bean
Атрибут этого тега описывает сгенерированную функцию bean pureQuery.
genPublicFields
Задает уровень доступа к полям функции bean.
  • Значение true генерирует поля функции bean как общедоступные.
  • Значение false генерирует поля функции bean как защищенные и разрешает доступ к ним при помощи методов get и set.
importAnnotations
Задает, надо ли импортировать аннотации pureQuery. Допустимые значения:
  • import com.ibm.pdq.annotation.Column;
  • import com.ibm.pdq.annotation.Id;
  • import com.ibm.pdq.annotation.GeneratedKey;
  • import com.ibm.pdq.annotation.Table;
  • Эта функция bean должна импортировать аннотацию Table, если имя функции не совпадает с именем соответствующего объекта базы данных.
  • Эта функция bean должна также импортировать аннотацию Column, если одно или несколько имен полей функции не совпадают с именами соответствующих столбцов или параметров в объекте базы данных.
  • Эта функция bean может импортировать аннотацию Id, если вы хотите использовать эту аннотацию для указания, какие столбцы входят в первичный ключ.
importTypes
Задает, какие типы Java импортировать.
name
Задает имя функции bean pureQuery.
superClass
Задает надкласс функции bean pureQuery, если вы указали его в мастере Генерировать код pureQuery для таблицы.
fieldinfos
Теги внутри этого тега описывают, как столбцы в объекте базы данных отображаются на поля функции bean pureQuery.
field
Теги внутри этого тега описывают, как конкретный столбец в объекте базы данных отображается на конкретное поле функции bean pureQuery.
column
Атрибут этого тега описывает столбец в объекте базы данных.
isAlwaysGenCol
Задает, генерируются ли всегда значения для этого столбца. Допустимые значения - true и false.
isIdentityCol
Задает, является ли этот столбец столбцом идентификации. Допустимые значения - true и false.
isKey
Задает, является ли этот столбец ключевым столбцом. Допустимые значения - true и false.
name
Задает имя столбца.
parameter
Атрибут этого тега описывает конкретное поле функции bean pureQuery.
javaType
Задает тип данных Java для поля функции bean pureQuery.
name
Задает имя поля.
codeNames
Атрибуты этого тега задают имена, используемые в сгенерированном коде pureQuery.
importTypes
Задает, какие типы Java импортировать. Надо импортировать все типы, которые не входят в пакет java.lang.*.
inlineSampleName
Задает имя для сгенерированного тестового класса при использовании стиля программирования со встроенными методами.
interfaceMerge
Если заданное имя генерируемого интерфейса совпадает с именем класса Java, который уже существует в проекте Java назначения, указывает, что надо слить содержимое существующего класса с новым сгенерированным интерфейсом.
interfaceName
Задает имя сгенерированного интерфейса при использовании стиля программирования с аннотированными методами.
interfaceTestName
Задает имя тестового класса при использовании стиля программирования с аннотированными методами.
sqlStatements
Если вы выбрали генерацию интерфейса для стиля программирования с аннотированными методами, этот тег описывает, для каких операторов SQL генерировать и создавать аннотированные методы.
createByObject
Генерирует оператор INSERT, который вставляет строку в объект базы данных. Эти значения передаются в объект Java.
createByParameters
Генерирует оператор INSERT, который вставляет строку в объект базы данных. Каждое значение передается как отдельный параметр.
deleteByObject
Генерирует оператор DELETE, удаляющий строку из объекта базы данных, где первичный ключ эквивалентен определенному значению. Значение первичного ключа передается в объекте.
deleteByParameters
Генерирует оператор DELETE, удаляющий строку из объекта базы данных, где первичный ключ эквивалентен определенному значению. Значение первичного ключа передается в качестве одного или нескольких параметров. Если нет первичного ключа, все столбцы используются как параметры.
selectAll
Генерирует оператор SELECT, возвращающий все строки из объекта базы данных.
selectByObject
Генерирует оператор SELECT, возвращающий все строки из объекта базы данных, где первичный ключ эквивалентен определенному значению. Значение передается в объекте. Если объект базы данных не содержит первичного ключа, все столбцы используются как ключевые.
selectByParameters
Генерирует оператор SELECT, возвращающий строку из объекта базы данных, где первичный ключ эквивалентен определенному значению. Каждое значение передается в качестве отдельного параметра. Если объект базы данных не содержит первичного ключа, все столбцы используются как ключевые.
updateByObject
Генерирует оператор UPDATE, изменяющий одно или несколько значений в строке объекта базы данных. Значения передаются в объекте
updateByParameters
Генерирует оператор UPDATE, изменяющий одно или несколько значений в строке объекта базы данных. Каждое значение передается в качестве отдельного параметра. Значения первичного ключа передаются вместе с новыми значениями измененных столбцов.
useAsteriskForAllColumns
Задает использование звездочки вместо имен столбцов в операторах SELECT для выбора из всех столбцов в объекте базы данных.
Задачи, связанные с данной
Создание Java Emitter Templates (JET) Eclipse Modeling Framework Technologies (EMFT) для генерирования настроенного кода

Отзыв