Ejemplo de entrada XML para las plantillas JET de pureQuery de tablas o vistas

Este XML es un ejemplo de entrada para transformaciones JET con las plantillas GenTableBean.jet, GenTableInlineSample.jet, GenTableInterface.jet, GenTableInterfaceJUnit.jet y GenTableInterfaceTest.jet.

El XML describe la tabla STAFF de la base de datos SAMPLE para la base de datos DB2 para Linux, UNIX y 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
Los atributos de esta etiqueta describen el bean generado.
genBean
Especifica si se debe crear un nuevo bean o si la etiqueta bean describe un bean ya existente.
verdadero
Crear un bean nuevo.
falso
La etiqueta bean describe un bean ya existente.
genPublicFields
Especifica el nivel de acceso de las propiedades del bean.
  • El valor true genera las propiedades del bean como públicas.
  • El valor false genera las propiedades del bean como protegidas y permite el acceso a ellas mediante los métodos get y set.
importAnnotations
Especifica si se deben importar las anotaciones de pureQuery. Los valores aceptables son los siguientes:
  • import com.ibm.pdq.annotation.Column;
  • import com.ibm.pdq.annotation.Id;
  • import com.ibm.pdq.annotation.GeneratedKey;
  • import com.ibm.pdq.annotation.Table;
  • El bean debe importar la anotación de tabla si el nombre del bean no coincide con el nombre correspondiente del objeto de base de datos.
  • El bean también debe importar la anotación de columna si uno o varios nombres de las propiedades de los beans no coinciden con sus correspondientes columnas o parámetros en el objeto de base de datos.
  • El bean puede importar la anotación de ID si desea utilizar esta anotación para mostrar las columnas que forman parte de una clave primaria.
importTypes
Especifica qué tipos de Java se deben importar.
name
Especifica el nombre del bean.
package
Especifica el nombre del paquete Java en el que se colocará el código generado.
srcContainer
Especifica la carpeta del proyecto en la que se colocará el código generado.
superClass
Especifica la superclase del bean.
column
Los atributos de esta etiqueta describen una columna en el objeto de base de datos.
colLength
Especifica la longitud de la columna.
colType
Especifica el tipo de datos para los valores de la columna.
isAlwaysGenCol
Especifica si los valores de la columna se generan siempre. Los valores aceptables son true y false.
isIdentityCol
Especifica si la columna es una columna de identidad. Los valores aceptables son true y false.
isKey
Especifica si la columna es una columna de clave. Los valores aceptables son true y false.
isUniqueColName
Especifica si el nombre de la columna es exclusivo. Los valores aceptables son true y false.
isUserDefinedType
Especifica si el tipo de columna está definido por el usuario. Los valores aceptables son true y false.
name
Especifica el nombre de la columna.
tableName
Especifica el nombre de la tabla a la que pertenece la columna.
connection
El atributo de esta etiqueta especifica el nombre de la conexión de base de datos que se utilizará.
name
Especifica el nombre de la conexión de base de datos que se utilizará.
field
Las etiquetas dentro de esta etiqueta describen la forma en que una columna determinada de la base de datos se correlaciona con una propiedad determinada del bean.
fieldInfos
Las etiquetas dentro de esta etiqueta describen la forma en que las columnas de la base de datos se correlacionan con las propiedades del bean.
interface
Describe la interfaz que se debe generar.
importAnnotations
Especifica las anotaciones de pureQuery que se importarán a la interfaz generada. Los valores aceptables son los siguientes:
  • 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
Especifica qué tipos de Java se deben importar. Debe importar todos los tipos que no forman parte del paquete java.lang.*.
interfaceMerge
Si el nombre especificado de la interfaz que se generará coincide con el nombre de una clase Java que ya existe en el proyecto Java de destino, especifica que se debe fusionar el contenido de la clase existente con la nueva interfaz generada.
interfaceName
Especifica el nombre de la interfaz que se generará para el estilo de programación de método anotado.
package
Especifica el nombre del paquete Java en el que se colocará el código generado.
srcContainer
Especifica la carpeta del proyecto en la que se colocará el código generado.
parameter
Los atributos de esta etiqueta describen una propiedad determinada del bean.
accessor
Especifica el nombre del método que recupera el valor de la columna.
javaType
Especifica el tipo de datos Java para la propiedad del bean.
name
Especifica el nombre de la propiedad.
propertyName
Especifica el nombre de la propiedad del bean
result set
Las etiquetas que esta etiqueta contiene describen el contenido del bean generado, si establece el atributo genTableBean en "false" en la etiqueta selection.
selection
Los atributos de esta etiqueta describen el código pureQuery que se genera con la ayuda de este XML, así como el asistente que inicia la generación de código.
genAlwaysJUnit
Especifica si se deben generar clases de prueba como casos de prueba JUnit. Los valores aceptables son true y false.
genIncludeConn
Especifique si se debe incluir información acerca de la conexión de base de datos en las clases de prueba generadas. Los valores aceptables son true y false.
genInlineSample
Especifica si se debe generar una clase de prueba que utilice el estilo de programación incorporado. Los valores aceptables son true y false.
genInterface
Especifica si se debe generar una interfaz que utiliza el estilo de programación de método anotado. Los valores aceptables son true y false.
genInterfaceTest
Especifica si se debe generar una clase de prueba que invoque los métodos de una implementación de la interfaz generada. Los valores aceptables son true y false.
genSampleUtil
Especifica que se generará una clase que contenga métodos estáticos que se llamarán por las clases de prueba cuando se ejecuten. Estos métodos muestran en la vista Consola los resultados de ejecutar las clases de prueba. Esta clase también contiene código para establecer conexiones de base de datos para las clases de prueba.
genType
Especifica que el asistente para Generar código de pureQuery a partir de una tabla inicia la generación del código.
sqlSelections
Si elige generar una interfaz para el estilo de programación de método anotado, esta etiqueta describe para qué sentencias SQL se deben generar y crear métodos anotados.
createByObject
Genera una sentencia INSERT que inserta una fila en el objeto de base de datos. Los valores se pasan en un objeto Java.
createByParameters
Genera una sentencia INSERT que inserta una fila en el objeto de base de datos. Cada valor se pasa como un parámetro independiente.
deleteByObject
Genera una sentencia DELETE que suprime una fila del objeto de base de datos donde la clave primaria es igual a un determinado valor. El valor de la clave primaria se pasa en un objeto.
deleteByParameters
Genera una sentencia DELETE que suprime una fila del objeto de base de datos donde la clave primaria es igual a un determinado valor. El valor de la clave primaria se pasa como uno o más parámetros. Si no existe ninguna clave primaria, se utilizan todas las columnas como parámetros.
selectAll
Genera una sentencia SELECT que devuelve todas las filas del objeto de base de datos.
selectByObject
Genera una sentencia SELECT que devuelve todas las filas del objeto de base de datos donde la clave primaria es igual a un determinado valor. El valor se pasa en un objeto. Si el objeto de base de datos no tiene ninguna clave primaria, se utilizan todas las columnas como clave.
selectByParameters
Genera una sentencia SELECT que devuelve la fila del objeto de base de datos donde la clave primaria es igual a un determinado valor. Cada valor se pasa como un parámetro independiente. Si el objeto de base de datos no tiene ninguna clave primaria, se utilizan todas las columnas como clave.
updateByObject
Genera una sentencia UPDATE que cambia uno o varios valores de una fila del objeto de base de datos. Los valores se pasan en un objeto.
updateByParameters
Genera una sentencia UPDATE que cambia uno o varios valores de una fila del objeto de base de datos. Cada valor se pasa como un parámetro independiente. Los valores de la clave primaria se pasan con los nuevos valores de las columnas actualizadas.
useAsteriskForAllColumns
Especifica que se utilice un asterisco en lugar de nombres de columna en sentencias SELECT que realizan la selección en todas las columnas del objeto de base de datos.
table
Los atributos de esta etiqueta designan el objeto de base de datos (alias, tabla de consulta materializada, tabla o vista) a partir del que se debe generar el código pureQuery, así como la forma de formatear el nombre del objeto de base de datos en las sentencias SQL resultantes.
includeSchemaInSQL
Especifica si se debe incluir el esquema en las sentencias SQL generadas. Los valores aceptables son true y false.
name
Especifica el nombre del objeto de base de datos.
Esquema
Especifica el esquema del objeto de base de datos.
testCode
importTypes
Especifica qué tipos de Java se deben importar. Debe importar todos los tipos que no forman parte del paquete java.lang.*.
inlineSampleName
Especifica el nombre que se asignará a la clase de prueba generada para el estilo de programación incorporado.
interfaceTestName
Especifica el nombre de la clase de prueba para el estilo de programación de método anotado.
package
Especifica el nombre del paquete Java en el que se colocará el código generado.
srcContainer
Especifica la carpeta del proyecto en la que se colocará el código generado.

Comentarios