Ce document XML est un exemple d'entrée dans les transformations JET avec les canevas GenTableBean.jet, GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet et GenTableInterfaceTest.jet.
Le document XML décrit la table STAFF de la base de données SAMPLE pour la base de données DB2 for Linux, UNIX et 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
- Les attributs de cette balise décrivent le bean généré.
- 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.Id;
- import com.ibm.pdq.annotation.GeneratedKey;
- 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.
- 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 la base de données correspond à une propriété spécifique du bean.
- fieldInfos
- Les balises au sein de cette balise décrivent la façon dont les colonnes dans l'objet de base de données correspondent aux propriétés du bean.
- interface
- Décrit l'interface à générer.
- 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.
- accessor
- Spécifie le nom de la méthode qui extrait la valeur de la colonne.
- javaType
- Indique le type de données Java pour la propriété du bean.
- name
- Spécifie le nom de la propriété.
- propertyName
- Spécifie le nom de la propriété du bean.
- result set
- Les balises que contient cette balise décrivent le contenu du bean généré, si vous avez associé l'attribut genTableBean à la valeur
"false" dans la balise selection.
- 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 si des classes de test doivent être générées en tant que scénarios de test JUnit.
Les valeurs admises sont true et false.
- genIncludeConn
- Indique si des informations sur la connexion de base de données doivent être incluses 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 si une interface qui utilise le style de programmation méthode annotée doit être générée. Les valeurs admises sont true et false.
- genInterfaceTest
- Indique si une classe de test qui appelle les méthodes dans une implémentation de l'interface générée doit être 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 affichent 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 table lance la génération
du code.
- sqlSelections
- Si vous avez choisi de générer une interface pour le style de programmation méthode annotée, cette balise décrit quelles instructions SQL générer et pour lesquelles créer des méthodes annotées.
- createByObject
- Génère une instruction INSERT qui insère une ligne dans l'objet de base de données. Les valeurs sont transmises dans un objet Java.
- createByParameters
- Génère une instruction INSERT qui insère une ligne dans l'objet de base de données. Chaque valeur est transmise en tant que paramètre distinct.
- deleteByObject
- Génère une instruction DELETE qui supprime une ligne de l'objet de base de données dans lequel la clé primaire est égale à une valeur spécifique. La valeur de la clé primaire est transmise dans un objet.
- deleteByParameters
- Génère une instruction DELETE qui supprime une ligne de l'objet de base de données dans lequel la clé primaire est égale à une valeur spécifique. La valeur de la clé primaire est transmise sous la forme d'un ou de plusieurs paramètres. S'il n'existe aucune clé primaire, toutes les colonnes sont utilisées en tant que paramètres.
- selectAll
- Génère une instruction SELECT qui renvoie toutes les lignes de l'objet de base de données.
- selectByObject
- Génère une instruction SELECT qui renvoie toutes les lignes de l'objet de base de données dans lequel la clé primaire est égale à une valeur spécifique. La valeur est transmise dans un objet. Si l'objet de base de données ne possède pas de clé primaire, toutes les colonnes sont utilisées en tant que clé.
- selectByParameters
- Génère une instruction SELECT qui renvoie la ligne de l'objet de base de données dans lequel la clé primaire est égale à une valeur spécifique. Chaque valeur est transmise en tant que paramètre distinct. Si l'objet de base de données ne possède pas de clé primaire, toutes les colonnes sont utilisées en tant que clé.
- updateByObject
- Génère une instruction UPDATE qui modifie une ou plusieurs valeurs dans une ligne de l'objet de base de données. Les valeurs sont transmises dans un objet
- updateByParameters
- Génère une instruction UPDATE qui modifie une ou plusieurs valeurs dans une ligne de l'objet de base de données. Chaque valeur est transmise en tant que paramètre distinct. Les valeurs de la clé primaire sont transmises en même temps que les nouvelles valeurs des colonnes mises à jour.
- useAsteriskForAllColumns
- Indique d'utiliser un astérisque au lieu des noms de colonne dans les instructions SELECT qui effectuent des sélections dans toutes les colonnes de l'objet de base de données.
- table
- Les attributs de cette balise désignent l'objet de base de données (alias, table de requêtes matérialisée, table ou vue) à partir duquel générer le code pureQuery, ainsi que la manière de formater le nom de l'objet de base de données dans les instructions SQL obtenues.
- 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 l'objet de base de données.
- schema
- Indique le schéma de l'objet de base de données.
- 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é.