SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
MAURO GOMEZ MEJIA
IX SEMESTRE INGENIERIA DE SISTEMAS
                             08-2010




                                                      Ingenio DS
                                          Programando Soluciones
                                       http://ingeniods.wordpres.com
El ORM es el encargado de establecer la comunicación entre la base de datos y la
aplicación. Básicamente lo que hace es una base de datos orientada a objetos en base
a una base de datos relacional; también podemos decir que el ORM se encarga de
encapsular todo el código SQL y los procedimientos almacenados, de esta manera al
migrar la aplicación sea a:

 1. otra base de datos: no habrá que tocar el código de la aplicación para ello solo el
del ORM.

 2. otro lenguaje: (soportado por el ORM implementado) no habría que tocar la
comunicación con la base de datos.

                  MODEL

                                         ORM               BASE DE DATOS




                                                                               Ingenio DS
                                                                   Programando Soluciones
                                                                http://ingeniods.wordpres.com
¿Qué es MyBatis? Es un framework de mapeo que facilita el uso de bases de datos
relacionales en aplicaciones orientadas a objetos. MyBatis relaciona objetos con
procedimientos almacenados o sentencias SQL por medio de un descriptor XML.

La mayor ventaja de MyBatis es la simplicidad con la que podemos mapear los objetos
y el control que tenemos sobre las consultas realizadas en la base de datos.

Para implementar MyBatis se necesitan 3 partes importantes:

1. Configuración: es un archivo XML donde se configura (A) la conexión a la base de
   datos (habilitar la cache, tiempo de espera en consulta, …, etc.), (B) los parámetros
   la conectarse (url, usuario, …, etc.), (C) los ambientes (diferentes conexiones que
   hay en la aplicación), y (D) la relación entre el XML de mapeo con el Bean o DTO.

2. Mapeo: es un archivo XML donde se configuran las consultas SQL para cada DTO
   (Bean/Pojo).

3. Propiedades: es un archivo properties donde almacenamos datos del tipo llave-
   valor (url, usuario, …, etc.).                                   Ingenio DS
                                                                   Programando Soluciones
                                                                http://ingeniods.wordpres.com
XML de configuración                XML de mapeo               Propiedades
   configuracion.xml                  mapaDto.xml            conexión.properties
Nodo de configuración           Nodo de configuración            Comentario
        properties                         insert                 DB URL
Llamado al archivo properties   SQL para insertar                DB usuario
         settings                         update                  DB clave
Configuración de la conexión    SQL para actualizar               DB driver

       typeAliases                         delete
Agregar DTOs al diccionario     SQL para borrar

      environments                         select
Configuración especifica de     SQL para buscar 1 o listar
la conexión
         mappers                             sql                      ….
Llamado a los archivos de       SQL de propósito general              ….
mapeo

                                                                            Ingenio DS
                                                                Programando Soluciones
                                                             http://ingeniods.wordpres.com
Para hacernos una idea de cómo funciona




            Model                         MyBatis      BASE DE DATOS




     ACCIONES
      ACCIONES                     configuracion.xml    conexión.propperties
          DTOs



                                   ACCIONES
                                    ACCIONES
                                       Mapeos


                                                                      Ingenio DS
                                                          Programando Soluciones
                                                       http://ingeniods.wordpres.com
Para hacernos una idea de cómo
funciona

1. Model trata de construir una sesión
   SQL                                                                      BASE DE
                                           Model       MyBatis
2. Se lee configuracion.xml                                                  DATOS

3. configuracion.xml lee las propiedades
4. configuracion.xml lee los archivos de
                                                    configuracion.xml     conexión.propperties
   mapeo                                    DTOs
5. configuracion.xml hace la relación
   entre Mapeo/DTOs
6. Si todo esta correcto MyBatis puede             ACCIONES
                                                    ACCIONES
                                                       Mapeos
   crear un SqlSessionFactory
7. Este SqlSessionFactory es quien nos
   entrega las conexiones a la DB



                                                                              Ingenio DS
                                                                  Programando Soluciones
                                                               http://ingeniods.wordpres.com
Para mas información

1. Documentación de MyBatis
2. Comentarios en el ejemplo
3. Ver el video




                                              Ingenio DS
                                  Programando Soluciones
                               http://ingeniods.wordpres.com

Weitere ähnliche Inhalte

Was ist angesagt?

Actividad extra ansi sql
Actividad extra ansi sqlActividad extra ansi sql
Actividad extra ansi sql
KARY
 

Was ist angesagt? (7)

Informixsql
InformixsqlInformixsql
Informixsql
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
 
Lenguaje Transact SQL
Lenguaje Transact SQLLenguaje Transact SQL
Lenguaje Transact SQL
 
Tema 8
Tema 8Tema 8
Tema 8
 
Bases de datos (trabajo)
Bases de datos (trabajo)Bases de datos (trabajo)
Bases de datos (trabajo)
 
Diagramas finalesmejorado
Diagramas finalesmejoradoDiagramas finalesmejorado
Diagramas finalesmejorado
 
Actividad extra ansi sql
Actividad extra ansi sqlActividad extra ansi sql
Actividad extra ansi sql
 

Andere mochten auch

Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
Paloma De Las Cuevas
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
DataGeekery
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
Antonio Ognio
 

Andere mochten auch (19)

Metodologías Ágiles en la Práctica
Metodologías Ágiles en la PrácticaMetodologías Ágiles en la Práctica
Metodologías Ágiles en la Práctica
 
Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
Going a Step Beyond the Black and White Lists for URL Accesses in the Enterpr...
 
Erlang/OTP - V Taller de Programación Funcional
Erlang/OTP - V Taller de Programación FuncionalErlang/OTP - V Taller de Programación Funcional
Erlang/OTP - V Taller de Programación Funcional
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
 
Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...
 
Poster js eo-300dpi
Poster js eo-300dpiPoster js eo-300dpi
Poster js eo-300dpi
 
Chicago boss - Altenwald - Betabeers X Córdoba
Chicago boss - Altenwald - Betabeers X CórdobaChicago boss - Altenwald - Betabeers X Córdoba
Chicago boss - Altenwald - Betabeers X Córdoba
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Mejora tus retrospectivas (codemotion 2014)
Mejora tus retrospectivas (codemotion 2014)Mejora tus retrospectivas (codemotion 2014)
Mejora tus retrospectivas (codemotion 2014)
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
Erlang y elixir
Erlang y elixirErlang y elixir
Erlang y elixir
 
Ux2012 - Patrones de Interfaz (by Jennifer Tidwell)
Ux2012 - Patrones de Interfaz (by Jennifer Tidwell)Ux2012 - Patrones de Interfaz (by Jennifer Tidwell)
Ux2012 - Patrones de Interfaz (by Jennifer Tidwell)
 
Delegation
DelegationDelegation
Delegation
 
Interface
InterfaceInterface
Interface
 
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technology
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technologyNoSQL? No, SQL! - SQL, the underestimated "Big Data" technology
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technology
 
Stateless token-based authentication for pure front-end applications
Stateless token-based authentication for pure front-end applicationsStateless token-based authentication for pure front-end applications
Stateless token-based authentication for pure front-end applications
 
Scrum bad smells (codemotion 2014)
Scrum bad smells (codemotion 2014)Scrum bad smells (codemotion 2014)
Scrum bad smells (codemotion 2014)
 
#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScript#PlatziConf - El camino para ser un Pro en JavaScript
#PlatziConf - El camino para ser un Pro en JavaScript
 
Game of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCCGame of Frameworks - GDG Cáceres #CodeCC
Game of Frameworks - GDG Cáceres #CodeCC
 

Ähnlich wie My batis

Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existentes
eder8
 

Ähnlich wie My batis (20)

Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bdoo
BdooBdoo
Bdoo
 
Comunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertidoComunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertido
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Taller de base de datos ags dic_2014 control escolar
Taller de base de datos ags dic_2014 control escolarTaller de base de datos ags dic_2014 control escolar
Taller de base de datos ags dic_2014 control escolar
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 
Base de Datos (Grupo3).pptx
Base de Datos (Grupo3).pptxBase de Datos (Grupo3).pptx
Base de Datos (Grupo3).pptx
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Dbms Existentes
Dbms ExistentesDbms Existentes
Dbms Existentes
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móviles
 
Clase de investigacion presentacion 1
Clase de investigacion presentacion 1Clase de investigacion presentacion 1
Clase de investigacion presentacion 1
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajas
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 
Bases de Datos
Bases de DatosBases de Datos
Bases de Datos
 
Cuestionario 2
Cuestionario 2Cuestionario 2
Cuestionario 2
 
Qué es una base de datos
Qué es una base de datosQué es una base de datos
Qué es una base de datos
 

Mehr von Mauro Gomez Mejia

Redes De Computadores
Redes De ComputadoresRedes De Computadores
Redes De Computadores
Mauro Gomez Mejia
 

Mehr von Mauro Gomez Mejia (20)

Container
ContainerContainer
Container
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Polimorfismo (Clases Abstractas)
Polimorfismo (Clases Abstractas)Polimorfismo (Clases Abstractas)
Polimorfismo (Clases Abstractas)
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
2011 horizon-report
2011 horizon-report2011 horizon-report
2011 horizon-report
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Orm
OrmOrm
Orm
 
MVC
MVCMVC
MVC
 
2010 horizon-report
2010 horizon-report2010 horizon-report
2010 horizon-report
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con Hibernate
 
Sql injection
Sql injectionSql injection
Sql injection
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
Jmerlin php
Jmerlin phpJmerlin php
Jmerlin php
 
Comunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloComunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto Paralelo
 
Cuadrados Mágicos De Orden Impar
Cuadrados Mágicos De Orden ImparCuadrados Mágicos De Orden Impar
Cuadrados Mágicos De Orden Impar
 
Redes De Computadores
Redes De ComputadoresRedes De Computadores
Redes De Computadores
 
Java Mail
Java MailJava Mail
Java Mail
 
Java A Tope J2 Me (Java 2 Micro Edition)
Java A Tope  J2 Me (Java 2 Micro Edition)Java A Tope  J2 Me (Java 2 Micro Edition)
Java A Tope J2 Me (Java 2 Micro Edition)
 
Java 2D
Java 2DJava 2D
Java 2D
 

My batis

  • 1. MAURO GOMEZ MEJIA IX SEMESTRE INGENIERIA DE SISTEMAS 08-2010 Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 2. El ORM es el encargado de establecer la comunicación entre la base de datos y la aplicación. Básicamente lo que hace es una base de datos orientada a objetos en base a una base de datos relacional; también podemos decir que el ORM se encarga de encapsular todo el código SQL y los procedimientos almacenados, de esta manera al migrar la aplicación sea a: 1. otra base de datos: no habrá que tocar el código de la aplicación para ello solo el del ORM. 2. otro lenguaje: (soportado por el ORM implementado) no habría que tocar la comunicación con la base de datos. MODEL ORM BASE DE DATOS Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 3. ¿Qué es MyBatis? Es un framework de mapeo que facilita el uso de bases de datos relacionales en aplicaciones orientadas a objetos. MyBatis relaciona objetos con procedimientos almacenados o sentencias SQL por medio de un descriptor XML. La mayor ventaja de MyBatis es la simplicidad con la que podemos mapear los objetos y el control que tenemos sobre las consultas realizadas en la base de datos. Para implementar MyBatis se necesitan 3 partes importantes: 1. Configuración: es un archivo XML donde se configura (A) la conexión a la base de datos (habilitar la cache, tiempo de espera en consulta, …, etc.), (B) los parámetros la conectarse (url, usuario, …, etc.), (C) los ambientes (diferentes conexiones que hay en la aplicación), y (D) la relación entre el XML de mapeo con el Bean o DTO. 2. Mapeo: es un archivo XML donde se configuran las consultas SQL para cada DTO (Bean/Pojo). 3. Propiedades: es un archivo properties donde almacenamos datos del tipo llave- valor (url, usuario, …, etc.). Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 4. XML de configuración XML de mapeo Propiedades configuracion.xml mapaDto.xml conexión.properties Nodo de configuración Nodo de configuración Comentario properties insert DB URL Llamado al archivo properties SQL para insertar DB usuario settings update DB clave Configuración de la conexión SQL para actualizar DB driver typeAliases delete Agregar DTOs al diccionario SQL para borrar environments select Configuración especifica de SQL para buscar 1 o listar la conexión mappers sql …. Llamado a los archivos de SQL de propósito general …. mapeo Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 5. Para hacernos una idea de cómo funciona Model MyBatis BASE DE DATOS ACCIONES ACCIONES configuracion.xml conexión.propperties DTOs ACCIONES ACCIONES Mapeos Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 6. Para hacernos una idea de cómo funciona 1. Model trata de construir una sesión SQL BASE DE Model MyBatis 2. Se lee configuracion.xml DATOS 3. configuracion.xml lee las propiedades 4. configuracion.xml lee los archivos de configuracion.xml conexión.propperties mapeo DTOs 5. configuracion.xml hace la relación entre Mapeo/DTOs 6. Si todo esta correcto MyBatis puede ACCIONES ACCIONES Mapeos crear un SqlSessionFactory 7. Este SqlSessionFactory es quien nos entrega las conexiones a la DB Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 7. Para mas información 1. Documentación de MyBatis 2. Comentarios en el ejemplo 3. Ver el video Ingenio DS Programando Soluciones http://ingeniods.wordpres.com