0% encontró este documento útil (0 votos)
10 vistas37 páginas

Introducción a iBATIS en Java

Este documento describe el uso de iBATIS, un framework para mapear datos de bases de datos relacionales a objetos. Explica cómo iBATIS permite extraer, insertar, actualizar y borrar datos de una base de datos mediante el uso de objetos, SQL y archivos de configuración XML. También presenta un caso de éxito donde iBATIS se utilizó para sincronizar la base de datos RegulonDB entre sitios en México y Estados Unidos.

Cargado por

myoli20
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas37 páginas

Introducción a iBATIS en Java

Este documento describe el uso de iBATIS, un framework para mapear datos de bases de datos relacionales a objetos. Explica cómo iBATIS permite extraer, insertar, actualizar y borrar datos de una base de datos mediante el uso de objetos, SQL y archivos de configuración XML. También presenta un caso de éxito donde iBATIS se utilizó para sincronizar la base de datos RegulonDB entre sitios en México y Estados Unidos.

Cargado por

myoli20
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Esquema de Mapeo de Base de Datos Relacionales a Objetos

Luis Jos Muiz Rascado


Programa de Genmica Computacional Centro de Ciencias Genmicas UNAM

ljmuniz@[Link]

Contenido
Introduccin Cmo funciona JDBC

Propuestas de Solucin Qu es el Mapeo Objeto-Relacional?

Qu es iBATIS?
Caractersticas de iBATIS Pros y Contras Cmo funciona iBATIS Arquitectura de iBATIS Extraer e Insertar Datos Borrar y Actualizar Caso de xito RegulonDB
2

Introduccin

Cmo funciona JDBC

Solicitud SQL

Comunicacin Viva con la Base de Datos mientra sacamos los datos

Manipulacin del SQL hay que concatenar cada lnea

Propuestas de Solucin
1. Hibernate
[Link]

2. Java Persistence API


[Link]

3. iBATIS
[Link]

Qu es el Mapeo Objeto-Relacional?

Solicitud de SQL
SQL

Qu es iBATIS?
iBATIS es un framework mapeador de datos que se encuentran contenidos en base de datos y obtener objetos a partir de los datos relacionales.

Fue desarrollado por Clinton Begin y el cdigo fuente es administrado por la Apache Software Fundation ([Link]

Caractersticas de iBATIS
1. Mapeo basado en SQL. 2. Trabaja con esquemas de base de datos sencillos y complejos . 3. Construccin de SQL dinmico o al vuelo apartar de etiquetas de XML. 4. Soporte de transacciones. 5. Minima dependencia de libreras de terceros y bajo consumo de recursos. 6. Intregacin con otros frameworks (Spring).

10

Pros y Contras
Pros
1. Se puede utilizar cualquier tipo de sentencia SQL: UNION, OUTER JOIN. 2. Independencia de la base de datos. 3. Reusabilidad de sentencias SQL y objetos de resultados. 4. Mayor flexibilidad en la manipulacin de SQL.

Contras
1. Tiempo en modelado de los objetos que contendrn los resultados de SQL. 2. Tiempo en configurar el ambiente para usar iBATIS.
11

Cmo funciona iBATIS

Solicitud de ID de SQL
Solicitud SQL

12

Arquitectura de iBATIS

[Link] [Link] [Link]

[Link]
[Link]

[Link] [Link]
13

Esquema de Base de Datos (tienda)

14

[Link]
<sqlMapConfig> <transactionManager type="JDBC> <dataSource type="SIMPLE"> <property name="[Link]" value="[Link]"/> <property name="[Link]" value="jdbc:derby:/Users/luisjose/tienda"/> <property name="[Link]" value=usuario"/> <property name="[Link]" value=usuario"/> </dataSource> </transactionManager> <!-- SqlMaps --> <sqlMap resource=[Link]" /> </sqlMapConfig>

15

[Link]
<sqlMap namespace="SqlMap"> <! SQL que busca los datos de un cliente --> <select id="busca_cliente_nombre" resultClass="[Link]"> SELECT DISTINCT id_cliente AS id, nombre_cliente AS cliente, direccion_cliente AS direccion FROM nombre_cliente = #nombreCliente# </select> </sqlMap>

16

[Link] y SQL

<sqlMap namespace="SqlMap"> <! SQL que busca los datos de un cliente --> <select id="busca_cliente_nombre" resultClass="[Link]"> SELECT DISTINCT id_cliente AS id, nombre_cliente AS cliente, direccion_cliente AS direccion FROM nombre_cliente = #nombreCliente# </select> </sqlMap>

17

[Link]
private static SqlMapClient sqlMap; static { try { String resource = "ibatis/[Link]"; Reader reader = [Link](resource); sqlMap = [Link](reader); } catch(Exception e) { [Link](); } }

public static SqlMapClient getSqlMapInstance() { return sqlMap; }

18

Como Queda Organizado

19

Extraer Datos 1. Instanciamos la clase Ibatis que generamos.


// conexin de iBATIS SqlMapClient sqlMap = [Link]();

2. Se solicita que ejecute un identificador de un query , pero

20

Resultado de SQL

Cliente cliente = [Link]("busca_cliente_nombre", luis);

Resultado de SQL

List clienteList = [Link]("busca_cliente_nombre", luis);

22

if(!([Link]())) { for(int x = 0; x < [Link](); x++ ) { Cliente cliente = (Cliente)[Link](x); [Link]( [Link]() + + [Link]() + + [Link]() ); } // fin for } // fin for

23

Ejemplo Extraccin de datos

24

Insertar Datos
<! SQL que inserta cliente --> <insert id="insera_cliente" > INSERT INTO CLIENTE(id_cliente, nombre_cliente, direccion_cliente) VALUES( #id:Integer#, #cliente:String#, #direccion:String#) </insert>

25

Cliente cliente = new Cliente(); [Link](luis); [Link](direccin conocida); [Link](14); // conexin de iBATIS SqlMapClient sqlMap = [Link](); [Link]("insera_cliente", cliente);

26

Ejemplo de Insercin de Datos

27

Borrar
<! SqlMap --> <! SQL que borra un usuario --> <delete id="borrar_cliente"> DELETE FROM CLIENTE WHERE id_cliente = #id# </delete>

// Java // conexin de iBATIS SqlMapClient sqlMap = [Link](); [Link]("borrar_cliente, 14);

28

Ejemplo de Borrado de Datos

29

Actualizar
<! SqlMap <! SQL que actualiza --> <update id="actualiza_cliente"> UPDATE CLIENTE SET nombre_cliente = #cliente#, direccion_cliente = #direccion# WHERE id_cliente = #id# </update>

// java Cliente cliente = new Cliente();


[Link](luis jos); [Link](av. Central # 1, zacatepec morelos); [Link](14); // conexion a RegulonDB a travez de iBATIS SqlMapClient sqlMap = [Link](); [Link]("actualiza_cliente", cliente);
30

Ejemplo de Actualizacin de Datos

31

Caso de xito:
RegulonDB, es una base de datos sobre el proceso de transcripcin de la bacteria E. coli.
([Link]

[Link] herramientas de RegulonDB estaban muy individualizadas. [Link] un sitio espejo en Purdue University (EcoliHub, http:/[Link]/).

32

Las herramientas de RegulonDB estaban muy individualizadas.

33

34

Colocar un sitio espejo en Purdue University (EcoliHub).

35

36

Gracias
37

También podría gustarte