Este documento XML es un ejemplo de entrada para transformaciones JET con las
plantillas GenProcedureInlineSample.jet, GenProcedureInlineJunit.jet, GenProcedureInterface.jet, GenProcedureInterfaceJunit.jet, GenProcedureInterfaceTest.jet
o GenProcedureParmBean.jet.
El XML describe el procedimiento almacenado salaryGreater,
que toma el parámetro IN salvalue. El procedimiento almacenado devuelve un
conjunto de resultados que contiene todas las filas de la tabla STAFF donde SALARY
es mayor que el valor del parámetro 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
- Los atributos de esta etiqueta describen el bean generado para un único conjunto de resultados.
- 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:
- mport com.ibm.pdq.annotation.Column;
- 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. Debe importar todos los tipos que no forman
parte del paquete java.lang.*.
- 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 cómo una determinada columna del
conjunto de resultados se correlaciona con una propiedad determinada del bean para un único
conjunto de resultados.
- fieldInfos
- Las etiquetas dentro de esta etiqueta describen cómo las columnas del conjunto de resultados
se correlacionan con las propiedades del bean para un único conjunto de resultados.
- interface
- 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.
- javaType
- Especifica el tipo de datos Java para la
propiedad del bean.
- name
- Especifica el nombre de la propiedad.
- parameterMode
- La constante que identifica el parámetro como un parámetro IN, INOUT o
OUT. La constante se define en la interfaz JDBC parameterMetadata.
- parameterType
- Especifica el tipo SQL que corresponde al tipo Java del parámetro.
- procedure
- Los atributos de esta etiqueta designan el procedimiento almacenado a partir del
cual se debe generar el código pureQuery, así como la forma de formatear el nombre del
procedimiento almacenado en las sentencias SQL resultantes.
- handlerClass
- Si desea utilizar su propia clase CallHandlerWithParameters para procesar
los resultados del procedimiento almacenado, especifique el nombre de paquete y de
clase. Para obtener información sobre las clases CallHandlerWithParameter,
consulte Interfaz CallHandlerWithParameters<CAL>.
- 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 procedimiento almacenado.
- Esquema
- Especifica el esquema del procedimiento almacenado.
- procParameters
- Los atributos de esta etiqueta describen el bean generado.
- genBean
- Especifique si se debe crear un nuevo bean o si la etiqueta procParameters describe un
bean 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.
- 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.
- results
- Las etiquetas dentro de esta etiqueta describen los beans que se deben generar para
cada conjunto de resultados que el procedimiento almacenado puede devolver.
- resultSet
- Las etiquetas dentro de esta etiqueta describen el bean generado para un único conjunto
de resultados.
- 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 un procedimiento almacenado inicia la generación del código.
- 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.