0% encontró este documento útil (0 votos)
171 vistas12 páginas

Tutorial MYBATIS

Este documento proporciona una introducción a MyBatis, un framework de persistencia de datos que automatiza el mapeo entre bases de datos SQL y objetos en Java. Explica que MyBatis facilita el desarrollo de aplicaciones orientadas a bases de datos mediante la reducción de código JDBC y el mapeo de instrucciones SQL a archivos de configuración XML. También describe los requisitos previos, características, ventajas y proceso de configuración de MyBatis.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
171 vistas12 páginas

Tutorial MYBATIS

Este documento proporciona una introducción a MyBatis, un framework de persistencia de datos que automatiza el mapeo entre bases de datos SQL y objetos en Java. Explica que MyBatis facilita el desarrollo de aplicaciones orientadas a bases de datos mediante la reducción de código JDBC y el mapeo de instrucciones SQL a archivos de configuración XML. También describe los requisitos previos, características, ventajas y proceso de configuración de MyBatis.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Tutorial MYBATIS

Versión PDF Guía rápida Recursos Búsqueda de trabajo Discusión


MYBATIS es un framework de persistencia que automatiza el mapeo
entre bases de datos y objetos SQL en Java, .NET y Ruby on
Rails. MYBATIS facilita la creación de aplicaciones orientadas a bases de
datos más rápidas y con menos código. Por lo tanto, este tutorial se
divide en varios capítulos para la presentación simple y fácil
comprensión.

Audiencia
Este tutorial está diseñado para programadores Java que deseen
entender el marco MYBATIS en detalle junto con su arquitectura y uso
real.

Requisitos previos
Antes de continuar con este tutorial, debe tener una buena comprensión
del lenguaje de programación Java. Como se va a tratar con mapeo de
SQL, es necesario que tenga una exposición adecuada a SQL y conceptos
de base de datos.

MyBatis es un framework open source, ligero, de persistencia. Es una


alternativa a JDBC e Hibernate . Automatiza la correlación entre bases
de datos SQL y objetos en Java, .NET y Ruby on Rails. Las asignaciones
se desacoplan de la lógica de la aplicación empaquetando las
instrucciones SQL en archivos de configuración XML.

Absorbe casi todo el código JDBC y reduce la carga de establecer


parámetros manualmente y recuperar los resultados. Proporciona una
API sencilla para interactuar con la base de datos. También proporciona
soporte para SQL personalizado, procedimientos almacenados y
asignaciones avanzadas.

Anteriormente se conocía como IBATIS , que fue iniciado por Clinton


Begin en 2002. MyBatis 3 es la última versión. Es un cambio total de
IBATIS.
Una diferencia significativa entre MyBatis y otros marcos de persistencia
es que MyBatis enfatiza el uso de SQL, mientras que otras estructuras
como Hibernate usan típicamente un lenguaje de consulta personalizado,
es decir, el lenguaje de consulta Hibernate (HQL) o Enterprise JavaBeans
Query Language (EJB QL).

Características de diseño MYBATIS


MyBatis viene con las siguientes filosofías de diseño:

 Simplicidad - MyBatis es ampliamente considerado como uno de los marcos


de persistencia más sencillos disponibles en la actualidad.

 Desarrollo rápido - MyBatis hace todo lo posible para facilitar el desarrollo


hiper-rápido.

 Portabilidad - MyBatis se puede implementar para casi cualquier idioma o


plataforma como Java, Ruby y C # para Microsoft .NET.

 Interfaces independientes - MyBatis proporciona interfaces


independientes de base de datos y API que ayudan al resto de la aplicación
a permanecer independiente de cualquier recurso relacionado con la
persistencia.

 Open source - MyBatis es gratuito y un software de código abierto.

Ventajas de MYBATIS
MYBATIS ofrece las siguientes ventajas:

 Soporta los procedimientos almacenados - MyBatis encapsula SQL en


forma de procedimientos almacenados para que la lógica empresarial pueda
mantenerse fuera de la base de datos y la aplicación sea más portátil y más
fácil de implementar y probar.

 Soporta inline SQL - No se necesita pre-compilador, y puede tener acceso


completo a todas las características de SQL.

 Soporta SQL dinámico - MyBatis proporciona funciones para la creación


dinámica de consultas SQL basadas en parámetros.
 Soporta O / RM - MyBatis soporta muchas de las mismas características
que una herramienta O / RM, como carga perezosa, captura de uniones,
almacenamiento en caché, generación de código de ejecución y herencia.

MyBatis utiliza lenguaje de programación JAVA mientras desarrolla


aplicaciones orientadas a bases de datos. Antes de seguir adelante,
asegúrese de comprender los conceptos básicos de la programación
orientada a objetos y procedimientos: estructuras de control, estructuras
y variables de datos, clases, objetos, etc.

Para entender JAVA en detalle, puede ir a través de nuestro Tutorial de


JAVA
Usted tendría que establecer un ambiente adecuado para MyBatis antes
de comenzar con el trabajo de desarrollo real. Este capítulo explica cómo
configurar un entorno de trabajo para MyBatis.

Instalación de MyBatis
Realice los siguientes pasos sencillos para instalar MyBatis en su
máquina:

 Descargue la última versión de MyBatis desde Descargar MYBATIS .

 Descargue la última versión de mysqlconnector desde Download MySQL


Connector .

 Descomprima los archivos descargados para extraer los archivos .jar y


guárdelos en las carpetas / directorio apropiados.

 Establezca la variable CLASSPATH para los archivos .jar extraídos


apropiadamente.

Configuración de la base de datos


Cree una tabla EMPLEADO en cualquier base de datos MySQL utilizando
la siguiente sintaxis:

mysql> DROP TABLE IF EXISTS details.student;


CREATE TABLE details.student(
ID int(10) NOT NULL AUTO_INCREMENT,
NAME varchar(100) NOT NULL,
BRANCH varchar(255) NOT NULL,
PERCENTAGE int(3) NOT NULL,
PHONE int(10) NOT NULL,
EMAIL varchar(255) NOT NULL,
PRIMARY KEY ( ID )
);

Configuración de MyBatis Eclipse


Si desea desarrollar MyBatis Application utilizando eclipse, realice los
siguientes pasos:
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi =
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>mybatisfinalexamples</groupId>
<artifactId>mybatisfinalexamples</artifactId>
<version>0.0.1-SNAPSHOT</version>

<build>
<sourceDirectory>src</sourceDirectory>

<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>

</build>
<dependencies>

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>

</dependencies>

</project>

En el capítulo anterior, hemos visto cómo instalar MyBatis. En este


capítulo se describe cómo configurar MyBatis utilizando un archivo XML.

Puesto que nos estamos comunicando con la base de datos, tenemos que
configurar los detalles de la base de datos. Configuración XML es el
archivo utilizado para la configuración basada en XML. Al utilizar este
archivo, puede configurar varios elementos.

La siguiente programación es una estructura típica del archivo de


configuración MyBatis.
<configuration>
<typeAliases>
<typeAlias alias = "class_alias_Name" type = "absolute_clas_Name"/>
</typeAliases>
<environments default = "default_environment _name">
<environment id = "environment_id">
<transactionManager type = "JDBC/MANAGED"/>

<dataSource type = "UNPOOLED/POOLED/JNDI">


<property name = "driver" value = "database_driver_class_name"/>
<property name = "url" value = "database_url"/>
<property name = "username" value = "database_user_name"/>
<property name = "password" value = "database_password"/>
</dataSource>

</environment>
</environments>

<mappers>
<mapper resource = "path of the configuration XML file"/>
</mappers>

</configuration>

Vamos a discutir los elementos importantes (etiquetas) del archivo XML


de configuración, uno por uno.

environments tag
Dentro del elemento ambientes, configuramos el entorno de la base de
datos que utilizamos en nuestra aplicación. En MyBatis, puede
conectarse a varias bases de datos configurando varios elementos
de entorno . Para configurar el entorno, se nos proporcionan dos sub
tags, a saber, transactionManager y dataSource .

transactionManager tag
MyBatis soporta dos gestores de transacciones, a
saber, JDBC y MANAGED

 Si utilizamos el gestor de transacciones de tipo JDBC, la aplicación es


responsable de las operaciones de gestión de transacciones, como commit,
roll-back, etc ...

 Si utilizamos el gestor de transacciones de tipo MANAGED, el servidor de


aplicaciones es responsable de gestionar el ciclo de vida de la
conexión. Generalmente se utiliza con las Aplicaciones Web.

dataSource tag
Se utiliza para configurar las propiedades de conexión de la base de
datos, como el nombre del controlador, la url, el nombre de usuario y la
contraseña de la base de datos que queremos conectar. Es de tres tipos
a saber -

 UNPOOLED - Para el tipo de fuente de datos UNPOOLED, MyBatis


simplemente abre y cierra una conexión para cada operación de base de
datos. Es un poco más lento y se utiliza generalmente para las aplicaciones
simples.

 POOLED - Para el tipo de datos POOLED, MyBatis mantendrá un grupo de


conexiones de base de datos. Y, para cada operación de base de datos,
MyBatis utiliza una de estas conexiones y las devuelve a la agrupación una
vez finalizada la operación. Reduce la conexión inicial y el tiempo de
autenticación necesarios para crear una nueva conexión.

 JNDI - Para el tipo de datos JNDI, MyBatis obtendrá la conexión desde el


origen de datos JNDI.

Aquí está cómo usted puede utilizar una etiqueta del ambiente en la
práctica -
<environments default = "development">
<environment id = "development">
<transactionManager type = "JDBC"/>
<dataSource type = "POOLED">
<property name = "driver" value = "com.mysql.jdbc.Driver"/>
<property name = "url" value = "jdbc:mysql://localhost:3306/details"/>
<property name = "username" value = "root"/>
<property name = "password" value = "password"/>
</dataSource>
</environment>
</environments>

etiqueta typeAliases
En lugar de especificar el nombre de clase absoluto en todas partes,
podemos usar typeAliases, un nombre más corto para un tipo
Java. Supongamos que tenemos un archivo de clase Student in
Student.java dentro del
paquete tutorials_point.com.mybatis_examples , entonces el nombre
absoluto de la clase
será tutorials_point.com.mybatis_examples.Student. En lugar de usar
este nombre para dirigirse a la clase cada vez, puede declarar un alias a
esa clase como se muestra a continuación:

<typeAliases>
<typeAlias alias = "Student" type = "mybatis.Student"/>
</typeAliases>

tag mappers
Mapper archivo XML es el archivo importante, que contiene las
instrucciones de SQL mapeadas. El elemento Mapper se utiliza para
configurar la ubicación de estos archivos xml de asignadores en el
archivo de configuración de MyBatis (este elemento contiene cuatro
atributos, es decir, recursos, url, clase y nombre).
Por ejemplo, el nombre del archivo xml del asignador es Student.xml y
reside en el paquete denominado mybatis,, entonces puede configurar
la etiqueta del asignador como se muestra a continuación.

<mappers>
<mapper resource = "mybatis/Student.xml"/>
</mappers>

 El recurso de atributos apunta al classpath del archivo XML.

 El atributo url apunta a la ruta completa del archivo xml.

 Podemos usar interfaces de asignación en lugar de archivo xml, la clase


de atributos apunta a la ruta de clase de la interfaz de asignación.

 El nombre del atributo apunta al nombre del paquete de la interfaz del


asignador. En el ejemplo proporcionado en este capítulo, hemos especificado
la ruta de acceso de clase del XML del asignador utilizando el atributo de
recurso.

Además de estos, existen otros elementos que se pueden utilizar en el


archivo de configuración de la documentación de MyBatis . Consulte la
documentación de MyBatis para obtener los detalles completos.

MyBatis con base de datos MySQL


MySQL es uno de los sistemas de base de datos de código abierto más
populares disponibles en la actualidad. Creemos un archivo de
configuración SqlMapConfig.xml para conectarnos a la base de datos
mysql. El ejemplo dado a continuación son las propiedades dataSource
(nombre-controlador, url, nombre-usuario y contraseña) para la base de
datos MySQL –
No Nombre de la valor
Señor. propiedad

1 conductor com.mysql.jdbc.Driver

2 url jdbc: mysql: // localhost: 3306 / detalles


(suponga que la base de datos es "detalles")

3 nombre de usuario raíz

4 contraseña contraseña

Utilizamos el gestor de transacciones de tipo JDBC, significa que tenemos


que realizar las operaciones, como commit y roll-back manualmente,
dentro de la aplicación.

Utilizamos el dataSource del tipo UNPOOLED, lo que significa que se crea


una nueva conexión para cada operación de base de datos. Por lo tanto,
se recomienda cerrar la conexión manualmente después de finalizar las
operaciones de la base de datos.

SqlMapConfig.xml
A continuación se muestra la configuración XML de los ejemplos
utilizados en este tutorial. Copie el contenido que se indica a continuación
en un archivo de texto y guárdelo como SqlMapConfig.xml . Vamos a
utilizar este archivo en todos los ejemplos dados en este tutorial.

<?xml version = "1.0" encoding = "UTF-8"?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"


"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

<environments default = "development">


<environment id = "development">
<transactionManager type = "JDBC"/>

<dataSource type = "POOLED">


<property name = "driver" value = "com.mysql.jdbc.Driver"/>
<property name = "url" value =
"jdbc:mysql://localhost:3306/details"/>
<property name = "username" value = "root"/>
<property name = "password" value = "password"/>
</dataSource>

</environment>
</environments>

<mappers>
<mapper resource = "mybatis/Student.xml"/>
</mappers>

</configuration>

También podría gustarte