iBATOR - Introducción
iBATOR es un generador de código para iBATIS. iBATOR realiza una introspección de una o más tablas de la base de datos y genera artefactos iBATIS que pueden usarse para acceder a las tablas.
Posteriormente, puede escribir su código SQL personalizado o procedimiento almacenado para cumplir con sus requisitos. iBATOR genera los siguientes artefactos:
- Archivos XML de SqlMap
- Clases de Java para hacer coincidir la clave principal y los campos de la (s) tabla (s)
- Clases DAO que usan los objetos anteriores (opcional)
iBATOR puede ejecutarse como un archivo JAR independiente, como una tarea Ant o como un complemento de Eclipse. Este tutorial describe la forma más sencilla de generar archivos de configuración de iBATIS desde la línea de comandos.
Descarga iBATOR
Descargue el JAR independiente si está utilizando un IDE que no sea Eclipse. El JAR independiente incluye una tarea Ant para ejecutar iBATOR, o puede ejecutar iBATOR desde la línea de comandos del código Java.
Puede descargar el archivo zip desde Descargar iBATOR .
Puede consultar la documentación en línea - Documentación de iBATOR .
Generando archivo de configuración
Para ejecutar iBATOR, siga estos pasos:
Paso 1
Cree y complete un archivo de configuración ibatorConfig.xml de forma adecuada. Como mínimo, debe especificar:
UN <jdbcConnection> elemento para especificar cómo conectarse a la base de datos de destino.
UN <javaModelGenerator> elemento para especificar el paquete de destino y el proyecto de destino para los objetos de modelo Java generados.
UN <sqlMapGenerator> elemento para especificar el paquete de destino y el proyecto de destino para los archivos de mapa SQL generados.
UN <daoGenerator> para especificar el paquete de destino y el proyecto de destino para las interfaces y clases de DAO generadas (puede omitir el elemento <daoGenerator> si no desea generar DAO).
Al menos una base de datos <table> elemento
NOTE −Consulte la página de referencia del archivo de configuración XML para ver un ejemplo de un archivo de configuración de iBATOR.
Paso 2
Guarde el archivo en una ubicación conveniente, por ejemplo, en: \ temp \ ibatorConfig.xml.
Paso 3
Ahora ejecute iBATOR desde la línea de comando de la siguiente manera:
java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite
Le dirá a iBATOR que se ejecute usando su archivo de configuración. También le indicará a iBATOR que sobrescriba cualquier archivo Java existente con el mismo nombre. Si desea guardar cualquier archivo Java existente, omita el−overwrite parámetro.
Si hay un conflicto, iBATOR guarda el archivo recién generado con un nombre único.
Después de ejecutar iBATOR, debe crear o modificar los archivos de configuración estándar de iBATIS para hacer uso de su código recién generado. Esto se explica en la siguiente sección.
Tareas después de ejecutar iBATOR
Después de ejecutar iBATOR, debe crear o modificar otros artefactos de configuración de iBATIS. Las principales tareas son las siguientes:
- Cree o modifique el archivo SqlMapConfig.xml.
- Cree o modifique el archivo dao.xml (solo si está utilizando el marco iBATIS DAO).
Cada tarea se describe en detalle a continuación:
Actualización del archivo SqlMapConfig.xml
iBATIS utiliza un archivo XML, comúnmente llamado SqlMapConfig.xml, para especificar información para una conexión de base de datos, un esquema de gestión de transacciones y archivos XML de mapas SQL que se utilizan en una sesión de iBATIS.
iBATOR no puede crear este archivo porque no sabe nada sobre su entorno de ejecución. Sin embargo, algunos de los elementos de este archivo se relacionan directamente con los elementos generados por iBATOR.
Las necesidades específicas de iBATOR en el archivo de configuración son las siguientes:
- Los espacios de nombres de instrucciones deben estar habilitados.
- Los archivos XML de mapas SQL generados por iBATOR deben estar listados.
Por ejemplo, suponga que iBATOR ha generado un archivo XML de mapa SQL llamado MyTable_SqlMap.xml y que el archivo se ha colocado en el paquete test.xml de su proyecto. El archivo SqlMapConfig.xml debe tener estas entradas:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- Statement namespaces are required for Abator -->
<settings useStatementNamespaces="true" />
<!-- Setup the transaction manager and data source that are
appropriate for your environment
-->
<transactionManager type="...">
<dataSource type="...">
</dataSource>
</transactionManager>
<!-- SQL Map XML files should be listed here -->
<sqlMap resource="test/xml/MyTable_SqlMap.xml" />
</sqlMapConfig>
Si hay más de un archivo XML de mapa SQL (como es bastante común), entonces los archivos se pueden enumerar en cualquier orden con elementos <sqlMap> repetidos después del elemento <transactionManager>.
Actualización del archivo dao.xml
El marco iBATIS DAO está configurado por un archivo xml comúnmente llamado dao.xml.
El marco iBATIS DAO utiliza este archivo para controlar la información de conexión de la base de datos para DAO, y también para enumerar las clases de implementación DAO y las interfaces DAO.
En este archivo, debe especificar la ruta a su archivo SqlMapConfig.xml y todas las interfaces DAO generadas por iBATOR y clases de implementación.
Por ejemplo, suponga que iBATOR ha generado una interfaz DAO llamada MyTableDAO y una clase de implementación llamada MyTableDAOImpl, y que los archivos se han colocado en el paquete test.dao de su proyecto.
El archivo dao.xml debe tener estas entradas:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">
<daoConfig>
<context>
<transactionManager type="SQLMAP">
<property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/>
</transactionManager>
<!-- DAO interfaces and implementations should be listed here -->
<dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" />
</context>
</daoConfig>
NOTE − Este paso es necesario solo si generó DAO para el marco iBATIS DAO.