Dieses XML-Dokument ist Beispieleingabe für JET-Umsetzungen mit den Schablonen GenTableBean.jet, GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet und GenTableInterfaceTest.jet.
Die XML beschreibt die Tabelle STAFF in der Beispieldatenbank SAMPLE für DB2-Datenbanken für Linux, UNIX und Windows.
<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
<selection genAlwaysJUnit="false" genIncludeConn="false"
genInlineSample="true" genInterface="true" genInterfaceTest="true"
genSampleUtil="true" genType="genFromTable" />
<connection name="SAMPLE1" />
<table includeSchemaInSQL="false" name="ACT" schema="MYSCHEMA">
<resultSet>
<bean genBean="true" genPublicFields="false"
importAnnotations="import com.ibm.pdq.annotation.Id;" importTypes=""
name="Act" package="myPackage" srcContainer="MyProject/src"
superClass="java.lang.Object" />
<fieldInfos>
<field>
<column colLength="(5)" colType="CHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="ACTDESC"
tableName="ACT" />
<parameter accessor="getActdesc()" javaType="String"
name="actdesc" propertyName="actdesc" />
</field>
<field>
<column colLength="(5)" colType="CHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="ACTKWD"
tableName="ACT" />
<parameter accessor="getActkwd()" javaType="String"
name="actkwd" propertyName="actkwd" />
</field>
<field>
<column colLength="(5)" colType="CHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="true"
isUniqueColName="true" isUserDefinedType="false" name="ACTNO"
tableName="ACT" />
<parameter accessor="getActno()" javaType="String"
name="actno" propertyName="actno" />
</field>
</fieldInfos>
</resultSet>
<interface importAnnotations="" importTypes=""
interfaceMerge="false" interfaceName="ActData" package="myPackage"
srcContainer="MyProject/src" />
<testCode importTypes="" inlineSampleName="ActInlineSample"
interfaceTestName="ActDataTest" package="myPackage"
srcContainer="MyProject/src" />
<sqlSelections createByObject="true" createByParameters="true"
deleteByObject="true" deleteByParameters="true" selectAll="true"
selectByObject="true" selectByParameters="true" updateByObject="true"
updateByParameters="true" useAsteriskForAllColumns="false" />
</table>
</genCodeData>
- bean
- Die Attribute dieses Tags beschreiben die generierte Bean.
- genBean
- Gibt an, ob eine neue Bean erstellt werden soll oder ob der Tag bean eine vorhandene Bean beschreibt.
- true
- Erstellt eine neue Bean.
- false
- Der Tag bean beschreibt eine vorhandene Bean.
- genPublicFields
- Gibt die Zugriffsebene der Eigenschaften der Bean an.
- Bei Verwendung des Werts 'true' werden die Eigenschaften der Bean als öffentlich generiert.
- Bei Verwendung des Werts 'false' werden die Eigenschaften der Bean als geschützt generiert. Der Zugriff auf sie wird über GET- und SET-Methoden ermöglicht.
- importAnnotations
- Gibt an, ob die pureQuery-Annotationen importiert werden sollen. Folgende Werte sind gültig:
- import com.ibm.pdq.annotation.Column;
- import com.ibm.pdq.annotation.Id;
- import com.ibm.pdq.annotation.GeneratedKey;
- import com.ibm.pdq.annotation.Table;
- Die Bean muss die Tabellenannotation (Table) importieren, wenn der Name der Bean nicht mit dem Namen des entsprechenden Datenobjekts übereinstimmt.
- Die Bean muss die Spaltenannotation (Column) auch importieren, wenn mindestens ein Name der Eigenschaften in den Beans nicht mit der entsprechenden Spalte oder dem entsprechenden Parameter im Datenbankobjekt übereinstimmt.
- Die Bean kann die ID-Annotation (Id) importieren, wenn Sie diese Annotation verwenden wollen, um anzuzeigen, welche Spalten zum Primärschlüssel gehören.
- importTypes
- Gibt die zu importierenden Java-Typen an.
- name
- Gibt den Namen der Bean an.
- package
- Gibt den Namen des Java- Pakets an, in das der generierte Code eingefügt werden soll.
- srcContainer
- Gibt den Ordner in dem Projekt an, in das der generierte Code eingefügt werden soll.
- superClass
- Gibt die Superklasse der Bean an.
- column
- Die Attribute dieses Tags beschreiben eine Spalte im Datenbankobjekt.
- colLength
- Gibt die Länge der Spalte an.
- colType
- Gibt den Datentyp für die Werte in der Spalte an.
- isAlwaysGenCol
- Gibt an, ob die Werte in der Spalte immer generiert werden.
Gültige Werte sind true und false.
- isIdentityCol
- Gibt an, ob die Spalte eine Identitätsspalte ist. Gültige Werte sind true und false.
- isKey
- Gibt an, ob die Spalte eine Schlüsselspalte ist. Gültige Werte sind true und false.
- isUniqueColName
- Gibt an, ob der Spaltenname eindeutig ist. Gültige Werte sind true und false.
- isUserDefinedType
- Gibt an, ob der Typ der Spalte benutzerdefiniert ist. Gültige Werte sind true und false.
- name
- Gibt den Namen der Spalte an.
- tableName
- Gibt den Namen der Tabelle an, zu der die Spalte gehört.
- connection
- Das Attribut dieses Tags gibt den Namen der zu verwendenden Datenbankverbindung an.
- name
- Gibt den Namen der zu verwendenden Datenbankverbindung an.
- field
- Die Tags in diesem Tag beschreiben, wie eine bestimmte Spalte im Datenbankobjekt einer bestimmten Eigenschaft der Bean zugeordnet wird.
- fieldInfos
- Die Tags in diesem Tag beschreiben, wie Spalten im Datenbankobjekt den Eigenschaften der Bean zugeordnet werden.
- interface
- Beschreibt die zu generierende Schnittstelle.
- importAnnotations
- Gibt die pureQuery-Annotationen an, die in die generierte Schnittstelle importiert werden sollen. Folgende Werte sind gültig:
- import com.ibm.pdq.annotation.Call;
- import com.ibm.pdq.annotation.Select;
- import com.ibm.pdq.annotation.Update;
- import com.ibm.pdq.annotation.Handler;
- importTypes
- Gibt die zu importierenden Java-Typen an. Sie müssen alle Typen importieren, die nicht zum Paket java.lang.* gehören.
- interfaceMerge
- Stimmt der angegebene Name der zu generierenden Schnittstelle mit dem Namen der Java-Klasse überein, die im Java-Zielprojekt bereits vorhanden ist, wird hiermit angegeben, dass der Inhalt der vorhandenen Klasse mit der neu generierten Schnittstelle gemischt werden soll.
- interfaceName
- Gibt den Namen der Schnittstelle an, die für den Programmierstil der mit Annotationen versehenen Methode generiert werden soll.
- package
- Gibt den Namen des Java- Pakets an, in das der generierte Code eingefügt werden soll.
- srcContainer
- Gibt den Ordner in dem Projekt an, in das der generierte Code eingefügt werden soll.
- parameter
- Die Attribute dieses Tags beschreiben eine bestimmte Eigenschaft der Bean.
- accessor
- Gibt den Namen der Methode an, mit der der Wert aus der Spalte abgerufen wird.
- javaType
- Gibt den Java-Datentyp für die Eigenschaft der Bean an.
- name
- Gibt den Namen der Eigenschaft an.
- propertyName
- Gibt den Namen der Bean-Eigenschaft an.
- resultSet
- Die in diesem Tag enthaltenen Tags beschreiben den Inhalt der generierten Bean, wenn Sie im Tag selection für das Attribut genTableBean den Wert "false" angegeben haben.
- selection
- Die Attribute dieses Tags beschreiben, welcher pureQuery-Code mithilfe dieses XML-Codes generiert wird, sowie den Assistenten, der die Codegenerierung initiiert.
- genAlwaysJUnit
- Gibt an, ob Testklassen als JUnit-Anwendungsbeispiele generiert werden.
Gültige Werte sind true und false.
- genIncludeConn
- Geben Sie an, ob in generierte Testklassen Informationen zur Datenbankverbindung aufgenommen werden sollen. Gültige Werte sind true und false.
- genInlineSample
- Gibt an, ob eine Testklasse generiert werden soll, die den integrierten Programmierstil verwendet. Gültige Werte sind true und false.
- genInterface
- Gibt an, ob eine Schnittstelle generiert werden soll, die den Programmierstil der mit Annotationen versehenen Methode verwendet. Gültige Werte sind true und false.
- genInterfaceTest
- Gibt an, ob eine Testklasse generiert werden soll, die die Methoden in einer Implementierung der generierten Schnittstelle aufruft. Gültige Werte sind true und false.
- genSampleUtil
- Gibt an, dass eine Klasse generiert wird, die statische Methoden enthält, die von den Testklassen bei ihrer Ausführung aufgerufen werden. Diese Methoden geben die Ergebnisse der Ausführung der Testklassen in der Konsolsicht aus. Diese Klasse enthält außerdem Code zum Herstellen von Datenbankverbindungen für die Testklassen.
- genType
- Gibt an, dass der Assistent pureQuery-Code aus Tabelle generieren die Codegenerierung einleitet.
- sqlSelections
- Soll eine Schnittstelle für den Programmierstil der mit Annotationen versehenen Methode generiert werden, beschreibt dieser Tag, welche SQL-Anweisungen generiert und für welche SQL-Anweisungen mit Annotationen versehene Methoden erstellt werden sollen.
- createByObject
- Generiert eine Anweisung INSERT, die eine Zeile in das Datenbankobjekt einfügt. Die Werte werden in einem Java-Objekt übergeben.
- createByParameters
- Generiert eine Anweisung INSERT, die eine Zeile in das Datenbankobjekt einfügt. Jeder Wert wird als separater Parameter übergeben.
- deleteByObject
- Generiert eine Anweisung DELETE, die eine Zeile aus dem Datenbankobjekt löscht, bei der der Primärschlüssel einem bestimmten Wert entspricht. Der Wert des Primärschlüssels wird in einem Objekt übergeben.
- deleteByParameters
- Generiert eine Anweisung DELETE, die eine Zeile aus dem Datenbankobjekt löscht, bei der der Primärschlüssel einem bestimmten Wert entspricht. Der Wert des Primärschlüssels wird in Form eines oder mehrerer Parameter übergeben. Ist kein Primärschlüssel vorhanden, werden alle Spalten als Parameter verwendet.
- selectAll
- Generiert eine Anweisung SELECT, die alle Zeilen aus dem Datenbankobjekt zurückgibt.
- selectByObject
- Generiert eine Anweisung SELECT, die alle Zeilen aus dem Datenbankobjekt zurückgibt, bei denen der Primärschlüssel einem bestimmten Wert entspricht. Der Wert wird in einem Objekt übergeben. Verfügt das Datenbankobjekt über keinen Primärschlüssel, werden alle Spalten als Schlüssel verwendet.
- selectByParameters
- Generiert eine Anweisung SELECT, die die Zeile aus dem Datenbankobjekt zurückgibt, bei der der Primärschlüssel einem bestimmten Wert entspricht. Jeder Wert wird als separater Parameter übergeben. Verfügt das Datenbankobjekt über keinen Primärschlüssel, werden alle Spalten als Schlüssel verwendet.
- updateByObject
- Generiert eine Anweisung UPDATE, die mindestens einen Wert in einer Zeile des Datenbankobjekts ändert. Die Werte werden in einem Objekt übergeben.
- updateByParameters
- Generiert eine Anweisung UPDATE, die mindestens einen Wert in einer Zeile des Datenbankobjekts ändert. Jeder Wert wird als separater Parameter übergeben. Die Werte des Primärschlüssels werden zusammen mit den neuen Werten der aktualisierten Spalten übergeben.
- useAsteriskForAllColumns
- Gibt an, dass in Anweisungen SELECT, die eine Auswahl aus allen Spalten im Datenbankobjekt treffen, ein Stern anstelle von Spaltennamen verwendet werden soll.
- table
- Die Attribute dieses Tags geben das Datenbankobjekt (Aliasname, MQT, Tabelle oder Sicht) an, aus dem pureQuery-Code generiert werden soll, und wie der Name des Datenbankobjekts in den resultierenden SQL-Anweisungen formatiert werden soll.
- includeSchemaInSQL
- Gibt an, ob das Schema in die generierten SQL-Anweisungen eingefügt werden soll.
Gültige Werte sind true und false.
- name
- Gibt den Namen des Datenbankobjekts an.
- schema
- Gibt das Schema des Datenbankobjekts an.
- testCode
- importTypes
- Gibt die zu importierenden Java-Typen an. Sie müssen alle Typen importieren, die nicht zum Paket java.lang.* gehören.
- inlineSampleName
- Gibt den Namen an, den die generierte Testklasse für den integrierten Programmierstil erhalten soll.
- interfaceTestName
- Gibt den Namen der Testklasse für den Programmierstil der mit Annotationen versehenen Methode an.
- package
- Gibt den Namen des Java- Pakets an, in das der generierte Code eingefügt werden soll.
- srcContainer
- Gibt den Ordner in dem Projekt an, in das der generierte Code eingefügt werden soll.