Dieses XML-Dokument ist Beispieleingabe für JET-Umsetzungen mit der Schablone GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet oder GenProcedureParmBean.jet.
Die XML beschreibt die gespeicherte Prozedur salaryGreater, die den Wert "salvalue" für den Parameter IN annimmt. Die gespeicherte Prozedur gibt eine Ergebnismenge zurück, die alle Zeilen aus der Tabelle STAFF enthält, in denen SALARY größer als der Wert des Parameters IN ist.
<?xml version="1.0" encoding="UTF-8"?>
<genCodeData>
<selection genAlwaysJUnit="false" genIncludeConn="false"
genInlineSample="true" genInterface="true" genInterfaceTest="true"
genSampleUtil="false" genType="genFromProcedure" />
<connection name="SAMPLE1" />
<procedure handlerClass="" includeSchemaInSQL="false"
name="SALARY_GREATER" schema="MYSCHEMA">
<procParameters genBean="true" genPublicFields="false"
importTypes="import java.math.BigDecimal;" name="Salary_greaterParam"
package="myPackage" srcContainer="MyProject/src"
superClass="java.lang.Object">
<parameter javaType="BigDecimal" name="salvalue" parameterMode="1" parameterType="DECIMAL"/>
</procParameters>
<interface importAnnotations=""
importTypes="import java.math.BigDecimal;" interfaceMerge="false"
interfaceName="Salary_greaterData" package="myPackage"
srcContainer="MyProject/src" />
<testCode
importTypes="import java.math.BigDecimal;import java.util.Iterator;"
inlineSampleName="Salary_greaterInlineSample"
interfaceTestName="Salary_greaterDataTest" package="myPackage"
srcContainer="MyProject/src" />
<results>
<resultSet>
<bean genBean="true" genPublicFields="false"
importAnnotations="" importTypes="import java.math.BigDecimal;"
name="Salary_greater" package="myPackage"
srcContainer="MyProject/src" superClass="" />
<fieldInfos>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="ID"
tableName="SALARY_GREATER" />
<parameter accessor="getId()" javaType="short"
name="id" propertyName="id" />
</field>
<field>
<column colLength="" colType="VARCHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="NAME"
tableName="SALARY_GREATER" />
<parameter accessor="getName()"
javaType="String" name="name" propertyName="name" />
</field>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="DEPT"
tableName="SALARY_GREATER" />
<parameter accessor="getDept()" javaType="short"
name="dept" propertyName="dept" />
</field>
<field>
<column colLength="" colType="CHAR"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="JOB"
tableName="SALARY_GREATER" />
<parameter accessor="getJob()" javaType="String"
name="job" propertyName="job" />
</field>
<field>
<column colLength="" colType="SMALLINT"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="YEARS"
tableName="SALARY_GREATER" />
<parameter accessor="getYears()"
javaType="short" name="years" propertyName="years" />
</field>
<field>
<column colLength="" colType="DECIMAL"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="SALARY"
tableName="SALARY_GREATER" />
<parameter accessor="getSalary()"
javaType="BigDecimal" name="salary" propertyName="salary" />
</field>
<field>
<column colLength="" colType="DECIMAL"
isAlwaysGenCol="false" isIdentityCol="false" isKey="false"
isUniqueColName="true" isUserDefinedType="false" name="COMM"
tableName="SALARY_GREATER" />
<parameter accessor="getComm()"
javaType="BigDecimal" name="comm" propertyName="comm" />
</field>
</fieldInfos>
</resultSet>
</results>
</procedure>
</genCodeData>
- bean
- Die Attribute dieses Tags beschreiben die generierte Bean für eine einzelne Ergebnismenge.
- 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:
- mport com.ibm.pdq.annotation.Column;
- 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. Sie müssen alle Typen importieren, die nicht zum Paket java.lang.* gehören.
- 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 in der Ergebnismenge einer bestimmten Eigenschaft der Bean für eine einzelne Ergebnismenge zugeordnet wird.
- fieldInfos
- Die Tags in diesem Tag beschreiben, wie Spalten in der Ergebnismenge den Eigenschaften der Bean für eine einzelne Ergebnismenge zugeordnet werden.
- interface
- 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.
- javaType
- Gibt den Java-Datentyp für die Eigenschaft der Bean an.
- name
- Gibt den Namen der Eigenschaft an.
- parameterMode
- Die Konstante, die den Parameter als Parameter IN, INOUT oder OUT angibt. Die Konstante ist in der JDBC-Schnittstelle parameterMetadata definiert.
- parameterType
- Gibt den SQL-Typ an, der dem Java-Typ des Parameters entspricht.
- procedure
- Die Attribute dieses Tags geben die gespeicherte Prozedur an, aus der pureQuery-Code generiert werden soll, und wie der Name der gespeicherten Prozedur in den resultierenden SQL-Anweisungen formatiert werden soll.
- handlerClass
- Wenn Sie Ihre eigene CallHandlerWithParameters-Klasse für die Verarbeitung der Ergebnisse der gespeicherten Prozedur verwenden möchten, müssen Sie den Paket- und den Klassennamen angeben. Informationen zu
CallHandlerWithParameter-Klassen finden Sie im Abschnitt zur Schnittstelle CallHandlerWithParameters<CAL>.
- 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 der gespeicherten Prozedur an.
- schema
- Gibt das Schema der gespeicherten Prozedur an.
- procParameters
- Die Attribute dieses Tags beschreiben die generierte Bean.
- genBean
- Gibt an, ob eine neue Bean erstellt werden soll oder ob der Tag procParameters 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.
- 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.
- results
- Die Tags in diesem Tag beschreiben die Beans, die für jede Ergebnismenge generiert werden sollen, die die gespeicherte Prozedur zurückgeben kann.
- resultSet
- Die Tags in diesem Tag beschreiben die generierte Bean für eine einzelne Ergebnismenge.
- 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 gespeicherter Prozedur generieren die Codegenerierung einleitet.
- 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.