Descripción de iBatis: ¿Qué es?, ¿para qué sirve?

24 junio 2009 at 11:05 pm 3 comentarios

iBatis es un framework de persistencia para Java, aunque con bastantes diferencias respecto a Hibernate, el gran dominador en este segmento.

ibatis

La principal diferencia entre iBatis e Hibernate es que iBatis no es un ORM (Mapeo Objeto Relacional). Por lo tanto Hibernate genera el SQL para mapear objetos a tablas de la base de datos, mientras que en iBatis el SQL lo tendremos que escribir nosotros. Si tenemos un modelo de datos (nuestras tablas de BBDD) bastante diferente a nuestro modelo de negocio (nuestras clases Java) Hibernate nos puede dar bastantes dolores de cabeza.

Lo que sí hace iBatis es lo siguiente:

  • Ejecuta el SQL escrito por nosotros mediante JDBC[] (Java DataBase Connectivity), por lo que nos olvidamos de los múltiples try/catch.
  • Mapea propiedades de objetos a parámetros para las PreparedStatement (sentencias SQL parametrizables).
  • Mapea los resultados de una query a un objeto o una lista de objetos.

En esta entrada ahora podría poner un pequeño ejemplo de utilización de iBatis, pero eso es lo que podemos encontrar en la documentación de iBatis en español.

Como resumen de lo que se puede ver en dicah documentación comentar:

  • Tendremos un fichero de configuración de iBatis (SqlMapConfig.xml habitualmente) en el que indicaremos algunos parámetros de iBatis (como si está activo el cacheado), el DataSource (soporta varios tipos de DataSource) y los distintos mapeos SQL.
  • Tendremos al menos un fichero de mapeo xml, en el que se indican las sentencias SQL, los parámetros a mapear o los resultados a mapear.
  • Tendremos una clase que implementa SQLMapClient que es el interface que contiene los métodos para realizar las sentencias SQL (queryForObject, queryForList o delete entre otros muchos). Esta clase la habremos obtenido mediante SqlMapClientBuilder.

Otro punto fuerte de iBatis es su integración con Spring. Para trabajar con iBatis integrado en Spring los pasos a seguir serían los siguientes:

  • El DataSource lo definiremos como un Bean en los archivos de definición de Spring. El resto del SqlMapConfig.xml y los xml de mapeo seguirían igual.
  • Spring proporciona el SqlMapClientFactoryBean y SqlMapClientTemplate. A la factoría le proporcionaremos el DataSource y al template le proporcionamos la factoría. Ese template es la clase que nos proporciona los mismo métodos que el SQLMapClient visto anteriormente.

También quiero nomrar en esta entrada a Ibator, que es una herramienta para generar código para iBatis. A partir de una tabla de base de datos es capaz de generar el xml de mapeo, las clases Java que representan al modelo de datos e incluso los DAO (Objetos de Acceso a Datos). Viene incluido un plugin para Eclipse. Aunque no la he utilizado, puede ser una herramienta útil en ocasiones.

Y por último decir que aunque sólo he hablado de iBatis para Java, desde la página del proyecto nos podemos descargar versiones para .Net o Ruby.

About these ads

Entry filed under: Java. Tags: , , .

AJAX en CakePHP mediante jQuery Estructura de directorios en Linux

3 comentarios Add your own

  • 1. Samuel  |  27 julio 2009 en 11:45 pm

    Muy interesante. Hasta ahora sólo había probado JPA (toplink-essentials y eclipselink). Si finalmente las “native queries” de JPA no funcionan, es un segundo cartucho a usar!. Gracias.

  • 2. Beatriz Rios  |  24 noviembre 2009 en 2:17 am

    muy interesante y útil les aconsejo que lo utilicen

  • 3. MAJG-SOFTMAC  |  30 septiembre 2010 en 7:59 pm

    es muy buna para los que estan empesando util

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Mi perfil

View Miguel Orbegozo's profile on LinkedIn

Feedjit

Feeds

Otros…

BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog

Bitacoras.com

Add to Technorati Favorites


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 28 seguidores

A %d blogueros les gusta esto: