Primeramente creamos un Bean que contenga un tipo Collection ya que no se pude pasar el atributo directamente se tiene que mandar forsosamente atraves de un Bean.
Ejemplo :
public class Bean {
List collection;
public void setCollection(List collection) {
this.collection = collection;
}
public List getCollection() {
return collection;
}
}
En este caso se define el alias de localización del archivos en la parte superior del archivo XML y solo abajo de
<sqlMap namespace="_XML_" >
<typeAlias alias="Bean" proyecto.vo.Bean" />
<select id="SelecICVE" resultClass="xml" parameterClass="Bean">
</select>
y se utiliza de en la parte de parameterClass="Bean" o se puede colocar la ruta del archivo directamente en la parte de parameterClass="proyecto.vo.Bean" desde mi punto de vista es lo mismo simplemente depende de la forma en que se quiera utilizar.
<select id="SelecBean" resultClass="xml" parameterClass="Bean">
SELECT * FROM TABLA WHERE DATO = 'DATO'
<iterate prepend=" AND CAMPOBD IN " property="collection" open="(" close=")" conjunction=",">
#collection[]#
</iterate>
</select>
prepared="AND CAMPODB IN " <-- Es la instrucción que se agregara despues de 'DATO'
property="collection" <-- Definida en Bean
resultClass = "xml" <-- El valor que nos devuelve la consulta en tipo XML Nota: La columna que no tiene valor en la consulta no lo agrega a la estructura del XML.
open="(" y close=")" <-- Valores opcionales aunque en mi caso si los utilizo para la instrucción.
conjunction = "," <-- En mi caso si la utilizo porque puede ir uno o varios valores separados por ","
No comments:
Post a Comment