MyBatis Generator (MGB): Generador de código para MyBatis e iBATIS

1
19251

MyBatis Generator (MGB): Generador de código para MyBatis e iBATIS

Introducción

En cualquier proyecto suelen haber tareas que pueden generarse de manera automática ahorrándose grandes esfuerzos y evitando los errores que podrían ser introduccidos si se hubieran realizado manualmente.

Claro está que el resultado de la generación automática tiene ser calidad y que los retoques y adaptaciones necesarias para incluirlo en nuestros proyectos deben ser mímimas.

En este tutorial vamos a hacer una introducción de MyBatis Generator (MGB) un generador de código para el framework de presistencia MyBatis desarrollado por Apache (y con licencia Apache License).

MGB se apoya en JDBC, para realizar una reflexión o introspección de una fuente de datos para generar automáticamente las clases del modelo, de acceso a datos y los archivos de mapeo (SQL Map XML).

MGB es una aplicación (es un JAR sin dependencias) bastante configurable a través de un archivo XML y puede ser invocado desde Ant, Maven o desde línea de comandos.

El producto y la documentación (bastante buena) puede descargarse desde página de descarga.

Un ejemplo

Para ver como funciona, partimos de una base de datos MySql ubicada en el esquema de nombre «cgarcia1».

generatorConfig.xml

A continuación exponemos el archivo de configuración necesario para generar el código fuente de nuestra aplicación.

Existen una gran cantidad de parámetros opcionales que nos permitirián adaptar la generación a nuestras necesidades y que se encuentran bastante bien documentadas en el archivo zip de descarga.

Suponiendo que el archivo de configuración generatorConfig.xml, el driver JDBC y el JAR del generador de código están en el mismo directorio,
ejecutamos el comando:
java -jar mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite

Captura de pantalla del resultado de la generación de código:

captura de pantalla - salida del generador

es.carlosgarcia.dao.model.Companies

es.carlosgarcia.dao.CompaniesMapper.java

es.carlosgarcia.dao.sqlmap.CompaniesMapper.xml

Conclusiones

Aunque este tipo de herramientas no cubrán el 100% de vuestras necesidades (por ejemplo, joins entre tablas), pueden ahorrarnos mucho tiempo y evitarnos las tareas repetitivas y desmotivadoras de los proyectos.

Bueno después de esta introducción, me despido esperando que os haya resultado de utilidad y dejándoos a vosotros profundizar en sus posibilidades y limitaciones.

Un saludo.
Carlos García.

1 Comentario

Dejar respuesta

Please enter your comment!
Please enter your name here