Этот документ 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 для выбора из всех столбцов в объекте базы данных.