Ce document XML est un exemple d'entrée dans les transformations JET avec les modèles GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet ou GenProcedureParmBean.jet.
Le document XML décrit la procédure mémorisée salaryGreater, qui accepte le paramètre IN salvalue. La procédure mémorisée renvoie un ensemble de résultats contenant toutes les lignes de la table STAFF où la valeur de SALARY est supérieure à la valeur du paramètre IN.
<?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
- Les attributs de cette balise décrivent le code généré pour un seul ensemble de résultats.
- genBean
- Indique si un bean doit être créé ou si la balise bean décrit un bean existant.
- true
- Un bean est créé.
- false
- La balise bean décrit un bean existant.
- genPublicFields
- Indique le niveau d'accès des propriétés du bean.
- Une valeur true permet de générer des propriétés de bean publiques.
- Une valeur false permet de générer des propriétés de bean protégées accessibles par le biais des méthodes get et set.
- importAnnotations
- Indique si les annotations pureQuery doivent être importées. Les valeurs admises sont les suivantes :
- import com.ibm.pdq.annotation.Column;
- import com.ibm.pdq.annotation.Table;
- Le bean doit importer l'annotation Table si le nom du bean ne correspond pas au nom de l'objet de base de données correspondant.
- Le bean doit également importer l'annotation Colonne si un ou plusieurs noms de propriétés dans les beans ne correspondent pas aux colonnes ou aux paramètres associés dans l'objet de base de données.
- Le bean peut importer l'annotation Id si vous souhaitez utiliser cette annotation pour afficher les colonnes appartenant à une clé primaire.
- importTypes
- Indique quels types Java importer. Vous devez importer tous les types qui ne font pas partie du package java.lang.*.
- name
- Spécifie le nom du bean.
- package
- Indique le nom du package Java dans lequel le code généré sera placé.
- srcContainer
- Indique le dossier du projet dans lequel le code généré sera placé.
- superClass
- Spécifie la superclasse du bean.
- column
- Les attributs de cette balise décrivent une colonne dans l'objet de base de données.
- colLength
- Spécifie la longueur de la colonne.
- colType
- Spécifie le type de données pour les valeurs de la colonne.
- isAlwaysGenCol
- Indique si les valeurs affichées dans la colonne sont toujours générées.
Les valeurs admises sont true et false.
- isIdentityCol
- Indique si la colonne est une colonne d'identité. Les valeurs admises sont true et false.
- isKey
- Indique si la colonne est une colonne de clé. Les valeurs admises sont true et false.
- isUniqueColName
- Indique si le nom de la colonne est unique. Les valeurs admises sont true et false.
- isUserDefinedType
- Indique si le type de la colonne est défini par l'utilisateur. Les valeurs admises sont true et false.
- name
- Spécifie le nom de la colonne.
- tableName
- Spécifie le nom de la table à laquelle la colonne appartient.
- connection
- L'attribut de cette balise indique le nom de la connexion de base de données à utiliser.
- name
- Indique le nom de la connexion de base de données à utiliser.
- field
- Les balises au sein de cette balise décrivent la façon dont une colonne spécifique de l'ensemble de résultats correspond à une propriété spécifique du bean pour un seul ensemble de résultats.
- fieldInfos
- Les balises au sein de cette balise décrivent la façon dont les colonnes de l'ensemble de résultats correspondent aux propriétés du bean pour un seul ensemble de résultats.
- interface
- importAnnotations
- Spécifie les annotations pureQuery à importer dans l'interface générée. Les valeurs admises sont les suivantes :
- 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
- Indique quels types Java importer. Vous devez importer tous les types qui ne font pas partie du package java.lang.*.
- interfaceMerge
- Si le nom spécifié pour l'interface à générer correspond au nom d'une classe Java qui existe déjà dans le projet Java
cible, indique que le contenu de la classe existante doit être fusionné avec l'interface générée.
- interfaceName
- Indique le nom de l'interface à générer pour le style de programmation méthode annotée.
- package
- Indique le nom du package Java dans lequel le code généré sera placé.
- srcContainer
- Indique le dossier du projet dans lequel le code généré sera placé.
- parameter
- Les attributs de cette balise décrivent une propriété spécifique du bean.
- javaType
- Indique le type de données Java pour la propriété du bean.
- name
- Spécifie le nom de la propriété.
- parameterMode
- Constante qui identifie le paramètre en tant que paramètre
IN, INOUT ou OUT. Cette constante est définie dans le paramètre parameterMetadata de l'interface JDBC.
- parameterType
- Indique le type de SQL qui correspond au type Java du paramètre.
- procedure
- Les attributs de cette balise désignent la procédure mémorisée à partir de laquelle générer le code pureQuery, ainsi que la manière de formater le nom de la procédure mémorisée dans les instructions SQL obtenues.
- handlerClass
- Si vous voulez utiliser votre propre classe CallHandlerWithParameters pour le traitement des résultats de la procédure mémorisée, spécifiez le nom de la classe et le module. Pour des informations sur les classes CallHandlerWithParameter, voir
L'interface CallHandlerWithParameters<CAL>.
- includeSchemaInSQL
- Indique si le schéma doit être inclus dans les instructions SQL générées.
Les valeurs admises sont true et false.
- name
- Indique le nom de la procédure mémorisée.
- schema
- Indique le schéma de la procédure mémorisée.
- procParameters
- Les attributs de cette balise décrivent le bean généré.
- genBean
- Indique si un bean doit être créé ou si la balise procParameters décrit un bean existant.
- true
- Un bean est créé.
- false
- La balise bean décrit un bean existant.
- genPublicFields
- Indique le niveau d'accès des propriétés du bean.
- Une valeur true permet de générer des propriétés de bean publiques.
- Une valeur false permet de générer des propriétés de bean protégées accessibles par le biais des méthodes get et set.
- importTypes
- Indique quels types Java importer.
- name
- Spécifie le nom du bean.
- package
- Indique le nom du package Java dans lequel le code généré sera placé.
- srcContainer
- Indique le dossier du projet dans lequel le code généré sera placé.
- superClass
- Spécifie la superclasse du bean.
- results
- Les balises au sein de cette balise décrivent les beans à générer pour chaque ensemble de résultats pouvant être renvoyé par la procédure mémorisée.
- resultSet
- Les balises au sein de cette balise décrivent le bean généré pour un ensemble de résultats.
- selection
- Les attributs de cette balise décrivent quel code pureQuery est généré à l'aide de ce code XML, ainsi que l'assistant qui lance la génération du code.
- genAlwaysJUnit
- Indique s'il faut générer des classes de test en tant que scénarios de test JUnit.
Les valeurs admises sont true et false.
- genIncludeConn
- Indique s'il faut inclure des informations sur la connexion de base de données dans les classes de test générées. Les valeurs admises sont true et false.
- genInlineSample
- Indique si une classe de test utilisant le style de programmation intégrée doit être générée. Les valeurs admises sont true et false.
- genInterface
- Indique s'il faut générer une interface qui utilise le style de programmation méthode annotée. Les valeurs admises sont true et false.
- genInterfaceTest
- Indique s'il faut générer une classe de test qui appelle les méthodes dans une implémentation de l'interface générée. Les valeurs admises sont true et false.
- genSampleUtil
- Indique qu'une classe qui contient des méthodes statiques appelées par les classes de test lorsqu'elles sont exécutées est générée. Ces méthodes impriment les résultats de l'exécution des classes de test dans la vue de la console. Cette classe contient également du code permettant d'établir des connexions de base de données pour les classes de test.
- genType
- Indique que l'assistant Génération du code pureQuery à partir d'une procédure mémorisée lance la génération de code.
- testCode
- importTypes
- Indique quels types Java importer. Vous devez importer tous les types qui ne font pas partie du package java.lang.*.
- inlineSampleName
- Spécifie le nom à attribuer à la classe de test générée pour le style de programmation intégrée.
- interfaceTestName
- Indique le nom de la classe de test à générer pour le style de programmation méthode annotée.
- package
- Indique le nom du package Java dans lequel le code généré sera placé.
- srcContainer
- Indique le dossier du projet dans lequel le code généré sera placé.