iBATIS es un marco de persistencia que automatiza el mapeo entre bases de datos SQL y objetos en Java, .NET y Ruby on Rails. En Java, los objetos son POJO ( Objetos Java simples y antiguos ). Las asignaciones se desacoplan de la lógica de la aplicación al empaquetar las instrucciones SQL en archivos de configuración XML . El resultado es una reducción significativa en la cantidad de código que un desarrollador necesita para acceder a una base de datos relacional utilizando API de nivel inferior como JDBC y ODBC .
Desarrollador (es) | Fundación de software Apache |
---|---|
Escrito en | Java , .NET , Ruby |
Sistema operativo | Multiplataforma |
Tipo | Marco de persistencia |
Licencia | Licencia Apache 2.0 |
Sitio web | ibatis |
Otros marcos de persistencia como Hibernate permiten la creación de un modelo de objeto (en Java, por ejemplo) por parte del usuario, y crean y mantienen la base de datos relacional automáticamente. iBATIS adopta el enfoque inverso: el desarrollador comienza con una base de datos SQL e iBATIS automatiza la creación de los objetos Java. Ambos enfoques tienen ventajas e iBATIS es una buena opción cuando el desarrollador no tiene control total sobre el esquema de la base de datos SQL. Por ejemplo, una aplicación puede necesitar acceder a una base de datos SQL existente utilizada por otro software, o acceder a una nueva base de datos cuyo esquema no está completamente bajo el control del desarrollador de la aplicación, como cuando un equipo de diseño de base de datos especializado ha creado el esquema y lo ha optimizado cuidadosamente. para un alto rendimiento.
El 21 de mayo de 2010, el equipo de desarrollo bifurcó el código creando un nuevo proyecto llamado MyBatis y haciendo nuevos lanzamientos allí. Como consecuencia, el proyecto Apache iBATIS quedó inactivo y se trasladó a Apache Attic en junio de 2010.
Uso
Por ejemplo, suponga que hay una tabla de base de datos PRODUCT (PROD_ID INTEGER , PROD_DESC VARCHAR (64) ) y una clase Java com.example.Product (id: int , descripción: String ) . Para leer el registro de producto que tiene la clave PROD_ID en un nuevo Producto POJO, la siguiente asignación se agrega a un archivo de asignación XML iBATIS:
id = "getProduct" parameterClass = "java.lang.Long" resultClass = "com.example.Product" > seleccione PROD_ID como id, PROD_DESC como descripción de PRODUCTO donde PROD_ID = # valor #
A continuación, se puede recuperar un nuevo objeto de Producto Java de la base de datos para el producto número 123 de la siguiente manera:
Producto resultProduct = ( Producto ) sqlMapClient . queryForObject ( "getProduct" , 123 );
En el ejemplo del archivo de mapeo, se #value#
refiere al valor entero largo pasado a la consulta. Si el parámetro es un objeto Java, los valores de las propiedades de ese objeto se pueden insertar en la consulta utilizando una #
notación similar . Por ejemplo, si la clase de parámetro es a com.example.Product
que tiene una propiedad llamada id
, entonces #value#
se puede reemplazar con #id#
. El sqlMapClient
objeto es una instancia de clase com.ibatis.sqlmap.client.SqlMapClient
.
Disponibilidad
El fundador de iBATIS ha declarado públicamente su consternación con Java 5 , pero ha seguido lanzando nuevas versiones de iBATIS para Java. Las versiones 2.3.1 y 2.3.2 salieron en abril de 2008 y 2.3.3 en julio.
Actualmente, el marco está disponible en las versiones Java , .NET y Ruby (RBatis). El proyecto jBati es un ORM de JavaScript inspirado en iBATIS.
La herramienta Apache iBator está estrechamente relacionada: se conecta a su base de datos y utiliza sus metadatos para generar archivos de mapeo iBATIS y clases Java.
Historia
En 2001, Clinton Begin inició un proyecto llamado iBATIS. Originalmente, la atención se centró en el desarrollo de soluciones de software criptográfico. El primer producto lanzado por iBATIS fue Secrets, [1] una herramienta de encriptación y firma de datos personales muy parecida a PGP. Secrets fue escrito completamente en Java y fue lanzado bajo una licencia de código abierto.
Ese año, Microsoft publicó un artículo [2] para demostrar que su reciente marco .NET 1.0 era más productivo que Java . Con ese propósito, Microsoft construyó su propia versión de Sun's Web "Pet Store", un proyecto web que Sun había utilizado para mostrar las mejores prácticas de Java ( Java BluePrints ). Microsoft afirmó que .NET era 10 veces más rápido y 4 veces más productivo que Java .
En 2002, Clinton desarrolló una aplicación llamada JPetStore [3] para demostrar que Java podía ser más productivo que .NET y también podía hacerlo mientras lograba una mejor arquitectura que la utilizada en la implementación de Microsoft .
JPetStore 1.0 tuvo un gran impacto [4] y la capa de base de datos que utilizó Clinton atrajo la atención de la comunidad. Pronto, comenzó el proyecto iBATIS Database Layer 1.0, compuesto por dos componentes: iBATIS DAO e iBATIS SQL Maps.
iBATIS 2.0 fue lanzado en junio de 2004. [5] Fue un rediseño completo manteniendo las mismas características. Clinton donó el nombre y el código de iBATIS a Apache Software Foundation y el proyecto permaneció en la ASF durante seis años.
Finalmente, iBATIS DAO quedó en desuso, teniendo en cuenta que había mejores marcos DAO disponibles, como Spring Framework .
El 19 de mayo de 2010 se publicó iBATIS 3.0 y simultáneamente el equipo de desarrollo decidió continuar con el desarrollo del marco en Google Code . [6] bajo un nuevo proyecto llamado MyBatis .
El 16 de junio de 2010, Apache anunció que iBATIS se retiró y se trasladó a Apache Attic.
Ver también
- API de persistencia de Java
- Hibernar
- EclipseLink
- Apache Cayenne
- IBM PureQuery
- n Hidratar
- OpenJPA
Referencias
- ^ Secretos de iBATIS
- ^ Pelea de gatos en una tienda de mascotas: J2EE contra .NET
- ^ "JPetStore 1.0" (PDF) . Archivado desde el original (PDF) el 21 de octubre de 2013 . Consultado el 8 de septiembre de 2013 .
- ^ Anuncio de JPetStore 1.0 en TheServerside.com
- ^ Anuncio de iBATIS 2.0
- ^ El equipo del proyecto iBATIS se traslada a Google Code
Bibliografía
- Empiece, Clinton; Brandon Goodin; Larry Meadors (17 de enero de 2007). iBATIS en acción (1ª ed.). Manning . págs. 384 . ISBN 978-1-932394-82-5.
- Richardson, Chris (23 de enero de 2006). POJOs In Action (1ª ed.). Manning . págs. 456 . ISBN 1-932394-58-3.
enlaces externos
- Página web oficial