Esquema de Mapeo de Base de Datos Relacionales a Objetos

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Porsche Latin America, Inc de junio de 2004 Porsche Latin America y GrupoUno Capacitación Porsche Acceleration IV Kit de Herramientas de Publicidad.
© Eliseo Andrade.
SALMO 8.
Seminario El Futuro del Seguro de Vida
1 PRINCIPALES INDICADORES DEL DESARROLLO DE LA SOCIEDAD DE LA INFORMACIÓN EN GALICIA CUADRO DE MANDO Apartado: Empresas Septiembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
AYUDA A LA FUNCIÓN DOCENTE Internet
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 2) Ricardo Ferrís Castell ( ) Departament D Informàtica.
Acceso a Bases de Datos con Java
TEMA 2 MÚLTIPLOS Y DIVISORES
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Introducción a HIBERNATE
Área Razón Social 0 0 Telefónica Servicios Audiovisuales S.A. / Telefónica España S.A. Título de la ponencia / Otros datos de interés / Kit.
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
Tiempos Verbales (caminar, comer, vivir)pg.484
… Y así nos distraemos Vocabulario.
Presentación 20 de Mayo 2009.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
1. Apoyo exterior sobre ala inferior de viga de acero
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
-17 Expectativas sobre la situación económica (Europa) Septiembre 2013 Indicador > +20 Indicador 0 a +20 Indicador 0 a -20 Indicador < -20 Total Unión.
Phone2Wave-Server Manual de Operación.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Gerencia de Programas Federales de Agua Potable y Alcantarillado Evolución del Sistema Informático de Contraloría Social (SICS) Veracruz, Ver. 2 de octubre.
Í N D I C E. Í N D I C E P R E S E N T A C I Ó N.
INFORME USDA NOVIEMBRE TRIGO 2 MERCADO INTERNACIONAL (Millones de Toneladas) 3.
EL OSO APRENDIZ Y SUS AMIGOS
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
Proyecto ProMéxico Plasmas abril SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas marzo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
RETIRO DE COMALCALCO DIC. 2012
Proyecto para Centros que trabajan una vez por semana.
3 Enero 2010 PERÚ: IV CENSO NACIONAL ECONÓMICO, APURÍMAC.
Innovación y creatividad
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Business Proccess Management (BPM)
Aplicación elementos del MECI 1000:2005
Aqui está Señoras y Señores !!!!!
CULENDARIO 2007 Para los Patanes.
MAREAS NEGRAS The accidente of Prestige took place on the 13rd of November 2002 near Galicia. The oil tanker Prestige was 26 years old ship loaded with.
E.1 Obtener los detalles completos de todos los proyectos.
Lección 7: Protección Contra Incendios
BEATRIZ LAFONT VILLODRE
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
* Fuente: Sondeo del Consumidor de la Comisión de la UE, GfK. Expectativas sobre la situación.
Marzo 2007 Lenguajes Visuales Clase III.
SpanishNumbers Uno 2 Dos 3 Tres 4 Quatro.
MSc. Lucía Osuna Wendehake
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Numbers.
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Manual de Procedimientos Procedimiento de ejecución del programa de
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Transcripción de la presentación:

Esquema de Mapeo de Base de Datos Relacionales a Objetos Luis José Muñiz Rascado Programa de Genómica Computacional Centro de Ciencias Genómicas UNAM ljmuniz@ccg.unam.mx

Contenido Qué es iBATIS? Propuestas de Solución Introducción Cómo funciona JDBC Propuestas de Solución Qué es el Mapeo Objeto-Relacional? Qué es iBATIS? Características de iBATIS Pros y Contras Cómo funciona iBATIS Arquitectura de iBATIS Extraer e Insertar Datos Borrar y Actualizar Caso de Éxito RegulonDB

Introducción

Cómo funciona JDBC Comunicación Viva con la Base de Datos mientra Solicitud SQL Comunicación Viva con la Base de Datos mientra sacamos los datos

Manipulación del SQL hay que concatenar cada línea

Propuestas de Solución Hibernate http://www.hibernate.org Java Persistence API http://java.sun.com/javaee/technologies/persistence.jsp iBATIS http://ibatis.apache.org/

Qué es el Mapeo Objeto-Relacional? Solicitud de SQL SQL 8

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 código fuente es administrado por la Apache Software Fundation (http://ibatis.apache.org/).

Características de iBATIS Mapeo basado en SQL. Trabaja con esquemas de base de datos sencillos y complejos . Construcción de SQL dinámico o al vuelo apartar de etiquetas de XML. Soporte de transacciones. Minima dependencia de librerías de terceros y bajo consumo de recursos. Intregación con otros frameworks (Spring).

Pros y Contras Pros Contras Se puede utilizar cualquier tipo de sentencia SQL: UNION, OUTER JOIN. Independencia de la base de datos. Reusabilidad de sentencias SQL y objetos de resultados. Mayor flexibilidad en la manipulación de SQL. Contras Tiempo en modelado de los objetos que contendrán los resultados de SQL. Tiempo en configurar el ambiente para usar iBATIS.

Cómo funciona iBATIS Solicitud de ID de SQL Solicitud SQL

Arquitectura de iBATIS Ibatis.java log4j.jar sql-map.xml ibatis.jar sql-map-config.xml Objeto.java commons-dbcp.jar

Esquema de Base de Datos (tienda)

sql-map-config.xml <sqlMapConfig> <transactionManager type="JDBC”> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="org.apache.derby.jdbc.EmbeddedDriver"/> <property name="JDBC.ConnectionURL" value="jdbc:derby:/Users/luisjose/tienda"/> <property name="JDBC.Username" value=”usuario"/> <property name="JDBC.Password" value=”usuario"/> </dataSource> </transactionManager> <!-- SqlMaps --> <sqlMap resource=”ibatis.xml.SqlMap.xml" /> </sqlMapConfig>

sql-map.xml <sqlMap namespace="SqlMap"> <!– SQL que busca los datos de un cliente --> <select id="busca_cliente_nombre" resultClass="ibatis.maps.Factura"> SELECT DISTINCT id_cliente AS id, nombre_cliente AS cliente, direccion_cliente AS direccion FROM nombre_cliente = #nombreCliente# </select> </sqlMap>

Cliente.java y SQL <sqlMap namespace="SqlMap"> <!– SQL que busca los datos de un cliente --> <select id="busca_cliente_nombre" resultClass="ibatis.maps.Factura"> SELECT DISTINCT id_cliente AS id, nombre_cliente AS cliente, direccion_cliente AS direccion FROM nombre_cliente = #nombreCliente# </select> </sqlMap>

Ibatis.java private static SqlMapClient sqlMap; static { try { String resource = "ibatis/sql-map-config.xml"; Reader reader = Resources.getResourceAsReader(resource); sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); } catch(Exception e) { e.printStackTrace(); public static SqlMapClient getSqlMapInstance() { return sqlMap;

Como Queda Organizado

Instanciamos la clase Ibatis que generamos. Extraer Datos Instanciamos la clase Ibatis que generamos. // conexión de iBATIS SqlMapClient sqlMap = Ibatis.getSqlMapInstance(); Se solicita que ejecute un identificador de un query , pero…

Resultado de SQL Cliente cliente = sqlMap.queryForObject("busca_cliente_nombre", “luis”);

sqlMap.queryForList("busca_cliente_nombre", “luis”); Resultado de SQL List clienteList = sqlMap.queryForList("busca_cliente_nombre", “luis”); 22

if(. (clienteList. isEmpty())) { for(int x = 0; x < facturaList if(!(clienteList.isEmpty())) { for(int x = 0; x < facturaList.size(); x++ ) { Cliente cliente = (Cliente)clienteList.get(x); System.out.println( cliente.getId() + “ “ + cliente.getCliente() + “ “ + cliente.getDireccion() ); } // fin for

Ejemplo Extracción de datos

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>

Cliente cliente = new Cliente(); cliente.setCliente(“luis”); cliente.setDireccion(“dirección conocida”); cliente.setId(14); // conexión de iBATIS SqlMapClient sqlMap = Ibatis.getSqlMapInstance(); sqlMap.insert("insera_cliente", cliente);

Ejemplo de Inserción de Datos

Borrar <!– SqlMap --> <!– SQL que borra un usuario --> <delete id="borrar_cliente"> DELETE FROM CLIENTE WHERE id_cliente = #id# </delete> // Java // conexión de iBATIS SqlMapClient sqlMap = Ibatis.getSqlMapInstance(); sqlMap.delete("borrar_cliente”, 14);

Ejemplo de Borrado de Datos

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(); cliente.setCliente(“luis josé”); cliente.setDireccion(“av. Central # 1, zacatepec morelos”); cliente.setId(14); // conexion a RegulonDB a travez de iBATIS SqlMapClient sqlMap = Ibatis.getSqlMapInstance(); sqlMap.update("actualiza_cliente", cliente);

Ejemplo de Actualización de Datos

Caso de Éxito: RegulonDB, es una base de datos sobre el proceso de transcripción de la bacteria E. coli. (http://regulondb.ccg.unam.mx/) Las herramientas de RegulonDB estaban muy individualizadas. Colocar un sitio espejo en Purdue University (EcoliHub, http:/www.ecolicommunity.org/).

Las herramientas de RegulonDB estaban muy individualizadas.

Colocar un sitio espejo en Purdue University (EcoliHub).

Gracias