Exemple d'entrée XML pour les modèles JET pureQuery des tables ou des vues

Ce document XML est un exemple d'entrée dans les transformations JET avec les modèles 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
Indique 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 en ligne 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 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 en ligne.
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é.

Commentaires