fbpx
Wikipedia

MyBatis

MyBatis es una herramienta de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados con objetos a partir de ficheros XML o anotaciones.

MyBatis
Información general
Tipo de programa Persistencia (informática)
Desarrollador El equipo MyBatis
Licencia Licencia Apache 2.0
Estado actual Con soporte
Información técnica
Programado en Java
Versiones
Última versión estable 3.4.2 (info) 04 de enero de 2017 (4 años, 7 meses y 10 días)
Enlaces
Sitio web oficial
Repositorio de código

MyBatis es software libre y se ha desarrollado bajo Licencia Apache 2.0

MyBatis es una bifurcación de iBATIS 3.0 y es mantenido por un equipo que incluye a los creadores originales de iBATIS.

Características

A diferencia de las herramientas ORM MyBatis no mapea objetos Java a tablas de base de datos sino métodos a sentencias SQL.

Permite utilizar todas las funcionalidades de la base de datos como procedimientos almacenados, vistas, consultas de cualquier complejidad o funcionalidades específicas del proveedor. Es una herramienta indicada para bases de datos legadas, desnormalizadas o cuando es preciso tener el control total del SQL ejecutado.

Simplifica la programación frente al uso directo de JDBC. Las líneas de código necesarias para ejecutar una sentencia se reducen casi siempre a una. Esta simplificación ahorra tiempo y evita errores habituales como olvidar cerrar una conexión a base de datos, realizar incorrectamente un mapeo de datos, exceder el tamaño de un result set u obtener varios resultados cuando se esperaba solo uno.

Proporciona un motor de mapeo de resultados SQL a árboles de objetos basado en información declarativa.

Soporta la composición de sentencias SQL dinámicas mediante un lenguaje con sintaxis tipo XML.

Soporta integración con Spring Framework y Google Guice. Esta característica, permite construir código de negocio libre de dependencias, incluso sin llamadas al API de MyBatis.

Soporta el uso de caché declarativa. Soporta varias cachés: OSCache, EHCache, Hazelcast y Memcached y soporta la adición de código propio de integración con otras cachés.

Guía rápida de uso

Las sentencias SQL pueden almacenarse en ficheros XML o en anotaciones. A continuación se muestra un mapper, que es una interfaz Java con anotaciones de MyBatis.

package org.mybatis.example; public interface BlogMapper { @Select("select * from Blog where id = #{id}") Blog selectBlog(int id); } 

Para ejecutar la sentencia simplemente debe escribirse.

BlogMapper mapper = session.getMapper(BlogMapper.class); Blog blog = mapper.selectBlog(101); 

O bien usando el API de MyBatis.

Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101); 

Las sentencias SQL y los mapeos pueden externalizarse a ficheros XML como el siguiente.

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.mybatis.example.BlogMapper"> <select id="selectBlog" parameterType="int" resultType="Blog"> select * from Blog where id = #{id} </select> </mapper> 

Toda la documentación detallada se encuentra en la Guía de Usuario disponible en la página del proyecto. Ver enlaces externos.

Generador de código

MyBatis dispone de un generador de código. El generador lee los metadatos de la base de datos para generar los beans, DAOs (simples o de Spring) y ficheros XML que implementan el "CRUD" (crear, obtener, actualizar y borrar) de las tablas indicadas.

El generador permite realizar modificaciones en el código generado que serán preservadas en caso de regeneración.

Disponible también formato plugin de Eclipse.

Integración con Spring

MyBatis dispone de un módulo de integración con Spring Framework. El módulo permite que MyBatis participe en transacciones Spring. Permite también crear mappers y sesiones e inyectarlos en beans de servicio.

A continuación se muestra la definición del Mapper en Spring y su inyección en un bean de servicio denominado BlogService.

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="blogMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> <property name="mapperInterface" value="org.mybatis.example.BlogMapper" /> </bean> <bean id="blogService" class="org.mybatis.example.BlogServiceImpl"> <property name="blogMapper" ref="blogMapper" /> </bean> 

De esta forma, para usar MyBatis simplemente hay que invocar al mapper inyectado.

public class BlogServiceImpl implements BlogService { private BlogMapper blogMapper; public void setBlogMapper(BlogMapper blogMapper) { this.blogMapper = blogMapper; } public void doSomethingWithABlog(int blogId) { Blog blog = mapper.selectBlog(blogId); ... } } 

MyBatis Migrations

MyBatis Migrations es una herramienta Java de línea de comandos que permite realizar un seguimiento de los cambios de esquema de la base de datos. Para ello almacena ficheros DDL con cambios incrementales (denominados migrations).

Con esta herramienta es posible consultar el estado de la base de datos, aplicar cambios al esquema e incluso deshacerlos. Permite también detectar y soluciona cambios concurrentes del esquema de base de datos por distintos desarrolladores.

Historia

MyBatis es una evolución del proyecto iBATIS y lo mantiene un equipo de desarrolladores entre los que se encuentran los que desarrollaron iBATIS originalmente.

El proyecto se creó el 19 de mayo de 2010, cuando justo tras el anuncio de la publicación de iBATIS 3.0 el equipo de desarrollo de iBATIS anunció que continuarían el proyecto bajo un nuevo nombre y un nuevo hogar.[1]

El 10 de noviembre de 2013 el proyecto anunció el movimiento a Github.[2]

Véase también

Referencias

  1. iBATIS Project Team Moving to Google Code
  2. Bye Google Code welcome Github

Enlaces externos

  • Página oficial del proyecto MyBatis
  •   Datos: Q5851860

mybatis, herramienta, persistencia, java, encarga, mapear, sentencias, procedimientos, almacenados, objetos, partir, ficheros, anotaciones, información, generaltipo, programapersistencia, informática, desarrolladorel, equipo, licencialicencia, apache, 0estado,. MyBatis es una herramienta de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados con objetos a partir de ficheros XML o anotaciones MyBatisInformacion generalTipo de programaPersistencia informatica DesarrolladorEl equipo MyBatisLicenciaLicencia Apache 2 0Estado actualCon soporteInformacion tecnicaProgramado enJavaVersionesUltima version estable3 4 2 info 04 de enero de 2017 4 anos 7 meses y 10 dias EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata MyBatis es software libre y se ha desarrollado bajo Licencia Apache 2 0MyBatis es una bifurcacion de iBATIS 3 0 y es mantenido por un equipo que incluye a los creadores originales de iBATIS Indice 1 Caracteristicas 2 Guia rapida de uso 3 Generador de codigo 4 Integracion con Spring 5 MyBatis Migrations 6 Historia 7 Vease tambien 8 Referencias 9 Enlaces externosCaracteristicas EditarA diferencia de las herramientas ORM MyBatis no mapea objetos Java a tablas de base de datos sino metodos a sentencias SQL Permite utilizar todas las funcionalidades de la base de datos como procedimientos almacenados vistas consultas de cualquier complejidad o funcionalidades especificas del proveedor Es una herramienta indicada para bases de datos legadas desnormalizadas o cuando es preciso tener el control total del SQL ejecutado Simplifica la programacion frente al uso directo de JDBC Las lineas de codigo necesarias para ejecutar una sentencia se reducen casi siempre a una Esta simplificacion ahorra tiempo y evita errores habituales como olvidar cerrar una conexion a base de datos realizar incorrectamente un mapeo de datos exceder el tamano de un result set u obtener varios resultados cuando se esperaba solo uno Proporciona un motor de mapeo de resultados SQL a arboles de objetos basado en informacion declarativa Soporta la composicion de sentencias SQL dinamicas mediante un lenguaje con sintaxis tipo XML Soporta integracion con Spring Framework y Google Guice Esta caracteristica permite construir codigo de negocio libre de dependencias incluso sin llamadas al API de MyBatis Soporta el uso de cache declarativa Soporta varias caches OSCache EHCache Hazelcast y Memcached y soporta la adicion de codigo propio de integracion con otras caches Guia rapida de uso EditarLas sentencias SQL pueden almacenarse en ficheros XML o en anotaciones A continuacion se muestra un mapper que es una interfaz Java con anotaciones de MyBatis package org mybatis example public interface BlogMapper Select select from Blog where id id Blog selectBlog int id Para ejecutar la sentencia simplemente debe escribirse BlogMapper mapper session getMapper BlogMapper class Blog blog mapper selectBlog 101 O bien usando el API de MyBatis Blog blog session selectOne org mybatis example BlogMapper selectBlog 101 Las sentencias SQL y los mapeos pueden externalizarse a ficheros XML como el siguiente lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE mapper PUBLIC mybatis org DTD Mapper 3 0 EN http mybatis org dtd mybatis 3 mapper dtd gt lt mapper namespace org mybatis example BlogMapper gt lt select id selectBlog parameterType int resultType Blog gt select from Blog where id id lt select gt lt mapper gt Toda la documentacion detallada se encuentra en la Guia de Usuario disponible en la pagina del proyecto Ver enlaces externos Generador de codigo EditarMyBatis dispone de un generador de codigo El generador lee los metadatos de la base de datos para generar los beans DAOs simples o de Spring y ficheros XML que implementan el CRUD crear obtener actualizar y borrar de las tablas indicadas El generador permite realizar modificaciones en el codigo generado que seran preservadas en caso de regeneracion Disponible tambien formato plugin de Eclipse Integracion con Spring EditarMyBatis dispone de un modulo de integracion con Spring Framework El modulo permite que MyBatis participe en transacciones Spring Permite tambien crear mappers y sesiones e inyectarlos en beans de servicio A continuacion se muestra la definicion del Mapper en Spring y su inyeccion en un bean de servicio denominado BlogService lt bean id sqlSessionFactory class org mybatis spring SqlSessionFactoryBean gt lt property name dataSource ref dataSource gt lt bean gt lt bean id blogMapper class org mybatis spring mapper MapperFactoryBean gt lt property name sqlSessionFactory ref sqlSessionFactory gt lt property name mapperInterface value org mybatis example BlogMapper gt lt bean gt lt bean id blogService class org mybatis example BlogServiceImpl gt lt property name blogMapper ref blogMapper gt lt bean gt De esta forma para usar MyBatis simplemente hay que invocar al mapper inyectado public class BlogServiceImpl implements BlogService private BlogMapper blogMapper public void setBlogMapper BlogMapper blogMapper this blogMapper blogMapper public void doSomethingWithABlog int blogId Blog blog mapper selectBlog blogId MyBatis Migrations EditarMyBatis Migrations es una herramienta Java de linea de comandos que permite realizar un seguimiento de los cambios de esquema de la base de datos Para ello almacena ficheros DDL con cambios incrementales denominados migrations Con esta herramienta es posible consultar el estado de la base de datos aplicar cambios al esquema e incluso deshacerlos Permite tambien detectar y soluciona cambios concurrentes del esquema de base de datos por distintos desarrolladores Historia EditarMyBatis es una evolucion del proyecto iBATIS y lo mantiene un equipo de desarrolladores entre los que se encuentran los que desarrollaron iBATIS originalmente El proyecto se creo el 19 de mayo de 2010 cuando justo tras el anuncio de la publicacion de iBATIS 3 0 el equipo de desarrollo de iBATIS anuncio que continuarian el proyecto bajo un nuevo nombre y un nuevo hogar 1 El 10 de noviembre de 2013 el proyecto anuncio el movimiento a Github 2 Vease tambien EditarHibernate JDBC JPA Spring Framework Google GuiceReferencias Editar iBATIS Project Team Moving to Google Code Bye Google Code welcome GithubEnlaces externos EditarPagina oficial del proyecto MyBatis Datos Q5851860Obtenido de https es wikipedia org w index php title MyBatis amp oldid 125249231, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos