SlideShare una empresa de Scribd logo
1 de 27
ACCESO A DATOS
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
Contenidos de la unidad
1. Concepto de mapeo objeto‐relacional (ORM)
2. Características de las herramientas ORM
3. Instalación y configuración de una herramienta ORM
4. Estructura de ficheros de Hibernate. Mapeo y clases  persistentes.
5. Sesiones. Objeto para crearlas.
6. Carga, almacenamiento y modificación de objetos
7. Consultas HQL (Hibernate Query Language)
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
1. Concepto de mapeo objeto‐relacional (ORM)

El mapeo objeto‐relacional (más conocido con sus siglas ORM) 
es una técnica de programación que permite convertir datos entre el sistema de tipos utilizado en un lenguaje de 
programación y el utilizado en una base de datos relacional.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
2. Características de las herramientas ORM
Las ventajas principales del mapeo objeto‐relacional son:
Rapidez en el desarrollo
Abstracción de la base de datos
Reutilización
Mantenimiento del código
Lenguaje propio para realizar las consultas
Incentivan la portabilidad y escalabilidad de los programas de software
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
2. Características de las herramientas ORM

Uno de los inconvenientes es que las aplicaciones son algo más lentas debido a que todas las consultas que se hagan
sobre la base de datos, el sistema primero deberá transformarlas al lenguaje propio de la herramienta, luego leer los
registros y por último crear los objetos.
Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos
entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante ficheros declarativos
(XML) que permiten establecer estas relaciones.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3. Instalación y configuración de una herramienta ORM
En este apartado vamos a instalar y configurar Hibernate en el entorno Eclipse. Para los ejemplos vamos a utilizar una
base de datos MySQL de nombre EJEMPLO, cuyo propietario será el usuario ejemplo y la clave la misma que el nombre
de usuario. La creación de las tablas es la siguiente:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.

Para instalar el plugin de Hibernate para Eclipse se necesita tener conexión a Internet.
Primero iniciamos Eclipse.
Pulsamos en la opción del menú horizontal Help->Install New Software
Rellenamos el campo Work With con la siguiente URL: http://download.jboss.org/jbosstools/updates/stable/
Pulsamos el botón Add
Nos pide un nombre, escribimos, por ejemplo, Hibernate y pulsamos el botón Ok.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.
 Al rato aparece la lista de plugins. Pulsamos en la flechita que aparece a la izquierda de Data Services y

seleccionamos sólo Hibernate Tools, el resto de opciones las desmarcamos. Pulsamos el botón Next y comienza
el proceso de descarga.
 Una vez descargado, pulsamos de nuevo Next.
 Aceptamos la licencia y pulsamos el botón Finish.
 Comienza el proceso de instalación.
 Una vez instalado nos pide reiniciar Eclipse.
 Para comprobar que se ha instalado correctamente podemos pulsar en el menú

Windows->Open Perspective->Other->Hibernate
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL.
Una vez instalado Hibernate, el siguiente paso es configurarlo para que se comunique con MySQL. En primer lugar
hemos de descargarnos el driver MySQL desde la URL http://dev.mysql.com/downloads/connector/j/, en este caso se
ha descargado el archivo mysql-connector-java-5.1.29.zip. Se descomprime y se instala en la carpeta donde está
instalado el Eclipse.
A continuación desde el menú Windows->Preferences->Data Management->Connectivity->Driver Definitions se pulsa
el botón Add.
Desde la pestaña Name/Type se selecciona MySQL JDBC Driver
Desde la pestaña JAR List pulsamos el botón Add Jar/Zip y se selecciona el fichero mysql-connector-java-5.1.29-

bin.jar que está en la carpeta que se descomprimió del driver.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL.
A continuación vamos a crear un proyecto y configuraremos Hibernate para que se comunique con MySQL y nos
cree las clases correspondientes de cada tabla de la base de datos EJEMPLO.
Pulsamos en el menú File->New->Project->Java Project y pulsamos en Next, le damos nombre al proyecto y

pulsamos en Finish.
Agregamos el driver MySQL al proyecto, para ello seleccionamos nuestro proyecto, pulsamos el botón derecho del

ratón y seleccionamos Build Paths->Add Libreries.
Se visualiza una ventana desde la que hemos de elegir la opción Connectivity Driver Definition y pulsamos Next.
En la siguiente ventana seleccionamos MySQL JDBC Driver y pulsamos el botón Finish.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

El siguiente paso será crear un fichero de configuración de Hibernate hibernate.cfg.xml. Sobre nuestro proyecto,
pulsamos el botón derecho y hacemos click sobre New->Other->Hibernate->Hibernate Configuration File (cfg.xml). Este
fichero contiene todo lo necesario para realizar la conexión a la base de datos.
Previamente deberemos tener creada nuestra base de datos en MySQL.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.
Pulsamos el botón Next y nos preguntará dónde crear el fichero, dejamos
la carpeta por defecto src y volvemos a pulsar Next. A continuación
escribiremos los datos para conectarnos a la base de datos. Los campos a
rellenar son:
Session Factory name: nombre de nuestra conexión a a MySQL
Database Dialect: cómo se comunica JDBC. En nuestro caso elegiremos

MySQL
Driver Class: se selecciona la clase de JDBC que se va a usar para la

conexión.
Conection URL: ruta de la conexión a nuestra base de datos
Username: usuario que se conectará a la base de datos
Password: clave del usuario.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

Desde la pestaña Source se puede editar el fichero XML cfg.xml generado:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.

Ahora hemos de crear el fichero XML Hibernate Console Configuration.
Pulsamos el botón derecho en nuestro proyecto y seleccionamos New>Other->Hibernate->Hibernate Console Configuration.
En la siguiente ventana, en el campo Name escribimos el nombre para
nuestra configuración, por ejemplo ConfiguracionHibernate. En el campo
Configuration file debe aparecer el fichero de configuración creado
anteriormente (hibernate.cfg.xml)
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate.
Finalmente, crearemos el fichero XML Hibernate Reverse Engineering
(reveng.xml) que es el encargado de crear las clases de nuestras tablas
MySQL. Pulsamos el botón derecho en nuestro proyecto y seleccionamos
New->Other->Hibernate->Hibernate
Reverse
Engineering
File
(reveng.xml). Pulsamos Next y se nos pedirá que indiquemos dónde se va
a guardar el fichero. Se debe guardar en la misma carpeta que el fichero
hibernate.cfg.xml, en este caso, la carpeta src.
En la siguiente ventana indicaremos las tablas que queremos mapear.
Desde la lista Console configuration seleccionamos el nombre que le
dimos al fichero Hibernate Console Configuration, en nuestro caso
ConfiguracionHibernate y pulsamos el botón Refresh para que muestre la
base de datos Ejemplo y sus tablas.
Seleccionamos una a una todas las tablas y pulsamos el botón Include.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.4. Generar las clases de la base de datos.
A continuación vamos a generar las clases de nuestra base de datos Ejemplo.
Para ello pulsamos en la flecha al lado del botón Run As

y seleccionamos Hibernate Code Generation

En la siguiente ventana configuramos los siguientes campos:
Console Configuration: seleccionamos ConfiguracionHibernate
Output directory: ha de ser la carpeta src
Package: escribimos primero
Reveng.xml: localizamos el fichero reveng.xml creado anteriormente. Se puede localizar pulsando en el botón Setup.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.4. Generar las clases de la base de datos.

Desde la pestaña Exporters se indica los ficheros que queremos generar. Se marcan las casillas: Domain code, Hibernate
XML Mappins e Hibernate XML Configuration. Pulsamos el botón Apply y después el botón Run.
Se nos generará un paquete llamado primero con las clases Java de las tablas EMPLEADOS y DEPARTAMENTOS así
como un fichero xml para cada tabla con la información de mapeo.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.5. Primera consulta en HQL.
Para comprobar si la conexión a la base de datos funciona correctamente, vamos a realizar alguna consulta en HQL.
Desde el menú Window->Open Perspective->Other->Hibernate abrimos las perspectiva de Hibernate. Desde la pestaña
Hibernate pulsamos en nuestra configuración ConfiguraciónHibernate y pulsamos con el botón derecho del ratón en
Database->HQL Editor.
Escribimos el siguiente código HQL desde la pestaña ConfiguracionHibernate: from Empleados y pulsamos el botón para
ejecutar la consulta.
Desde este entorno también podemos realizar consultas al estilo SQL, por ejemplo:
select dnombre, loc, depNo from Departamentos
select empNo, apellido, salario from Empleados where dept_no = 10
Desde la perspectiva Hibernate y pulsando con el botón derecho en Configuration seleccionamos Mapping Diagram para
visualizar el diagrama de mapeo entre las clases Java y las tablas de la base de datos.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
Con la configuración realizada, aún no podemos empezar a programar en Java. Hemos de realizar los siguientes pasos:
1.Bajar la última distribución de Hibernate desde http://sourceforge.net/projects/hibernate/files/hibernate3/.
2.Creamos una carpeta dentro de Eclipse con nombre Hibernate. Descomprimimos el ZIP en esta carpeta.
3.Buscamos el fichero hibernate3.jar y lo copiamos en eclipseHibernate
4.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibrequired seleccionamos todos los ficheros

y los copiamos a nuestra carpeta eclipseHibernate
5.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibjpa seleccionamos todos los ficheros y los

copiamos a nuestra carpeta eclipseHibernate
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
6. Bajar la última distribución de la librería slf4j desde la URL http://www.slf4j.org/download.html, lo descomprimimos

y localizamos los ficheros slf4j-1.7.6.jar y slf4j-api-1.7.6.jar para copiarlos en la carpeta eclipseHibernate
7. Desde Eclipse, hacemos clic con el botón derecho en nuestro proyectoy pulsamos en Build Path->Add Libreries y

elegimos User Librery. Pulsamos Next.
8. Pulsamos en User Libreries y a continuación en New. Nos pedirá el nombre de la librería que queremos agregar y

escribimos, por ejemplo, HibernateLib. Pulsamos el botón OK.
9. Pulsamos el botón Add JARs y seleccionamos todos los JAR de nuestra carpeta Hibernate. Pulsamos el botón

Abrir, despuñes Ok y por último, Finish.
Con esto ya podemos crear el primer programa Java en nuestro proyecto que nos va a permitir comunicarnos con
nuestra base de datos.
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En primer lugar, crearemos una instancia de la base de datos para poder trabajar con ella y que se utilizará a lo largo
de toda la aplicación. Necesitaremos crear un singleton.
El singleton es un patrón de diseño para restringir la creación de objetos pertenecientes a una clase. Su
intención es garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo
si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance
del constructor (con atributos como protegido o privado).
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
Con esta clase podemos obtener la sesión actual desde cualquier parte de nuestra aplicación:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo insertar una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo leer una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo actualizar una fila en la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo borrar una fila de la tabla DEPARTAMENTOS:
UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM)
3.6. Programar con Hibernate en Eclipse.
En el siguiente código podemos ver un ejemplo de cómo ejecutar una consulta HQL desde el código Java sobre la
tabla DEPARTAMENTOS:

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Utilizacion de archivos en Dev C++
Utilizacion de archivos en Dev C++Utilizacion de archivos en Dev C++
Utilizacion de archivos en Dev C++
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3
 
Archivos C++
Archivos C++Archivos C++
Archivos C++
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++
 
Manejo de archivos en el lenguaje C
Manejo de archivos en el lenguaje CManejo de archivos en el lenguaje C
Manejo de archivos en el lenguaje C
 
Archivos en C
Archivos en CArchivos en C
Archivos en C
 
Archivos
ArchivosArchivos
Archivos
 
Manejo de archivos en c++
Manejo de archivos en c++Manejo de archivos en c++
Manejo de archivos en c++
 
Archivossin
ArchivossinArchivossin
Archivossin
 
Manejo archivos
Manejo archivosManejo archivos
Manejo archivos
 
ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C ARCHIVO EN LENGUAJE C
ARCHIVO EN LENGUAJE C
 
ARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE CARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE C
 
Objetivo 01 Archivos de Texto
Objetivo 01 Archivos de TextoObjetivo 01 Archivos de Texto
Objetivo 01 Archivos de Texto
 
CURSO DE DB2 DEMO
CURSO DE DB2 DEMOCURSO DE DB2 DEMO
CURSO DE DB2 DEMO
 
Db2 (2)
Db2 (2)Db2 (2)
Db2 (2)
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 

Similar a 4. acceso a datos (20)

I report
I reportI report
I report
 
I report
I reportI report
I report
 
IREPORT
IREPORTIREPORT
IREPORT
 
REPORTES
REPORTESREPORTES
REPORTES
 
Admin Manual
Admin ManualAdmin Manual
Admin Manual
 
Drupal instalacion
Drupal instalacionDrupal instalacion
Drupal instalacion
 
Manual completo del manejador de base de datos Postgre SQL
Manual completo del manejador de base de datos Postgre SQLManual completo del manejador de base de datos Postgre SQL
Manual completo del manejador de base de datos Postgre SQL
 
Manual jira , Instalación, Creación de Proyecto, Incidencias, Usuarios
Manual jira , Instalación, Creación de Proyecto, Incidencias, UsuariosManual jira , Instalación, Creación de Proyecto, Incidencias, Usuarios
Manual jira , Instalación, Creación de Proyecto, Incidencias, Usuarios
 
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6Manual para-instalar-oracle-database-11 g-r2-en-centos-6
Manual para-instalar-oracle-database-11 g-r2-en-centos-6
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
Reportes
ReportesReportes
Reportes
 
Power point report
Power point reportPower point report
Power point report
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Trabajo pratico nº 3
Trabajo  pratico nº  3Trabajo  pratico nº  3
Trabajo pratico nº 3
 
Manual oscommerce
Manual oscommerceManual oscommerce
Manual oscommerce
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
 
Reportes
ReportesReportes
Reportes
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Jasreport
JasreportJasreport
Jasreport
 
Reportes
ReportesReportes
Reportes
 

Más de Anuska González

Seguridad y alta disponibilidad
Seguridad y alta disponibilidadSeguridad y alta disponibilidad
Seguridad y alta disponibilidadAnuska González
 
Implantación de aplicaciones web
Implantación de aplicaciones webImplantación de aplicaciones web
Implantación de aplicaciones webAnuska González
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesosAnuska González
 
Programación multimedia y dispositivos móviles
Programación multimedia y dispositivos móvilesProgramación multimedia y dispositivos móviles
Programación multimedia y dispositivos móvilesAnuska González
 
Inicio del curso 2013 2014
Inicio del curso 2013 2014Inicio del curso 2013 2014
Inicio del curso 2013 2014Anuska González
 
Presentación seguridad informática
Presentación   seguridad informáticaPresentación   seguridad informática
Presentación seguridad informáticaAnuska González
 

Más de Anuska González (7)

Seguridad y alta disponibilidad
Seguridad y alta disponibilidadSeguridad y alta disponibilidad
Seguridad y alta disponibilidad
 
Implantación de aplicaciones web
Implantación de aplicaciones webImplantación de aplicaciones web
Implantación de aplicaciones web
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesos
 
Programación multimedia y dispositivos móviles
Programación multimedia y dispositivos móvilesProgramación multimedia y dispositivos móviles
Programación multimedia y dispositivos móviles
 
Inicio del curso 2013 2014
Inicio del curso 2013 2014Inicio del curso 2013 2014
Inicio del curso 2013 2014
 
Presentación seguridad informática
Presentación   seguridad informáticaPresentación   seguridad informática
Presentación seguridad informática
 
Presentación de prueba
Presentación de pruebaPresentación de prueba
Presentación de prueba
 

Último

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

4. acceso a datos

  • 2. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) Contenidos de la unidad 1. Concepto de mapeo objeto‐relacional (ORM) 2. Características de las herramientas ORM 3. Instalación y configuración de una herramienta ORM 4. Estructura de ficheros de Hibernate. Mapeo y clases  persistentes. 5. Sesiones. Objeto para crearlas. 6. Carga, almacenamiento y modificación de objetos 7. Consultas HQL (Hibernate Query Language)
  • 3. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 1. Concepto de mapeo objeto‐relacional (ORM) El mapeo objeto‐relacional (más conocido con sus siglas ORM)  es una técnica de programación que permite convertir datos entre el sistema de tipos utilizado en un lenguaje de  programación y el utilizado en una base de datos relacional.
  • 4. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 2. Características de las herramientas ORM Las ventajas principales del mapeo objeto‐relacional son: Rapidez en el desarrollo Abstracción de la base de datos Reutilización Mantenimiento del código Lenguaje propio para realizar las consultas Incentivan la portabilidad y escalabilidad de los programas de software
  • 5. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 2. Características de las herramientas ORM Uno de los inconvenientes es que las aplicaciones son algo más lentas debido a que todas las consultas que se hagan sobre la base de datos, el sistema primero deberá transformarlas al lenguaje propio de la herramienta, luego leer los registros y por último crear los objetos. Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante ficheros declarativos (XML) que permiten establecer estas relaciones.
  • 6. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3. Instalación y configuración de una herramienta ORM En este apartado vamos a instalar y configurar Hibernate en el entorno Eclipse. Para los ejemplos vamos a utilizar una base de datos MySQL de nombre EJEMPLO, cuyo propietario será el usuario ejemplo y la clave la misma que el nombre de usuario. La creación de las tablas es la siguiente:
  • 7. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin. Para instalar el plugin de Hibernate para Eclipse se necesita tener conexión a Internet. Primero iniciamos Eclipse. Pulsamos en la opción del menú horizontal Help->Install New Software Rellenamos el campo Work With con la siguiente URL: http://download.jboss.org/jbosstools/updates/stable/ Pulsamos el botón Add Nos pide un nombre, escribimos, por ejemplo, Hibernate y pulsamos el botón Ok.
  • 8. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.1. Instalación y configuración de una herramienta ORM. Instalación del plugin.  Al rato aparece la lista de plugins. Pulsamos en la flechita que aparece a la izquierda de Data Services y seleccionamos sólo Hibernate Tools, el resto de opciones las desmarcamos. Pulsamos el botón Next y comienza el proceso de descarga.  Una vez descargado, pulsamos de nuevo Next.  Aceptamos la licencia y pulsamos el botón Finish.  Comienza el proceso de instalación.  Una vez instalado nos pide reiniciar Eclipse.  Para comprobar que se ha instalado correctamente podemos pulsar en el menú Windows->Open Perspective->Other->Hibernate
  • 9. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL. Una vez instalado Hibernate, el siguiente paso es configurarlo para que se comunique con MySQL. En primer lugar hemos de descargarnos el driver MySQL desde la URL http://dev.mysql.com/downloads/connector/j/, en este caso se ha descargado el archivo mysql-connector-java-5.1.29.zip. Se descomprime y se instala en la carpeta donde está instalado el Eclipse. A continuación desde el menú Windows->Preferences->Data Management->Connectivity->Driver Definitions se pulsa el botón Add. Desde la pestaña Name/Type se selecciona MySQL JDBC Driver Desde la pestaña JAR List pulsamos el botón Add Jar/Zip y se selecciona el fichero mysql-connector-java-5.1.29- bin.jar que está en la carpeta que se descomprimió del driver.
  • 10. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.2. Instalación y configuración de una herramienta ORM. Configuración del driver MySQL. A continuación vamos a crear un proyecto y configuraremos Hibernate para que se comunique con MySQL y nos cree las clases correspondientes de cada tabla de la base de datos EJEMPLO. Pulsamos en el menú File->New->Project->Java Project y pulsamos en Next, le damos nombre al proyecto y pulsamos en Finish. Agregamos el driver MySQL al proyecto, para ello seleccionamos nuestro proyecto, pulsamos el botón derecho del ratón y seleccionamos Build Paths->Add Libreries. Se visualiza una ventana desde la que hemos de elegir la opción Connectivity Driver Definition y pulsamos Next. En la siguiente ventana seleccionamos MySQL JDBC Driver y pulsamos el botón Finish.
  • 11. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. El siguiente paso será crear un fichero de configuración de Hibernate hibernate.cfg.xml. Sobre nuestro proyecto, pulsamos el botón derecho y hacemos click sobre New->Other->Hibernate->Hibernate Configuration File (cfg.xml). Este fichero contiene todo lo necesario para realizar la conexión a la base de datos. Previamente deberemos tener creada nuestra base de datos en MySQL.
  • 12. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Pulsamos el botón Next y nos preguntará dónde crear el fichero, dejamos la carpeta por defecto src y volvemos a pulsar Next. A continuación escribiremos los datos para conectarnos a la base de datos. Los campos a rellenar son: Session Factory name: nombre de nuestra conexión a a MySQL Database Dialect: cómo se comunica JDBC. En nuestro caso elegiremos MySQL Driver Class: se selecciona la clase de JDBC que se va a usar para la conexión. Conection URL: ruta de la conexión a nuestra base de datos Username: usuario que se conectará a la base de datos Password: clave del usuario.
  • 13. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Desde la pestaña Source se puede editar el fichero XML cfg.xml generado:
  • 14. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Ahora hemos de crear el fichero XML Hibernate Console Configuration. Pulsamos el botón derecho en nuestro proyecto y seleccionamos New>Other->Hibernate->Hibernate Console Configuration. En la siguiente ventana, en el campo Name escribimos el nombre para nuestra configuración, por ejemplo ConfiguracionHibernate. En el campo Configuration file debe aparecer el fichero de configuración creado anteriormente (hibernate.cfg.xml)
  • 15. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.3. Instalación y configuración de una herramienta ORM. Configuración de Hibernate. Finalmente, crearemos el fichero XML Hibernate Reverse Engineering (reveng.xml) que es el encargado de crear las clases de nuestras tablas MySQL. Pulsamos el botón derecho en nuestro proyecto y seleccionamos New->Other->Hibernate->Hibernate Reverse Engineering File (reveng.xml). Pulsamos Next y se nos pedirá que indiquemos dónde se va a guardar el fichero. Se debe guardar en la misma carpeta que el fichero hibernate.cfg.xml, en este caso, la carpeta src. En la siguiente ventana indicaremos las tablas que queremos mapear. Desde la lista Console configuration seleccionamos el nombre que le dimos al fichero Hibernate Console Configuration, en nuestro caso ConfiguracionHibernate y pulsamos el botón Refresh para que muestre la base de datos Ejemplo y sus tablas. Seleccionamos una a una todas las tablas y pulsamos el botón Include.
  • 16. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.4. Generar las clases de la base de datos. A continuación vamos a generar las clases de nuestra base de datos Ejemplo. Para ello pulsamos en la flecha al lado del botón Run As y seleccionamos Hibernate Code Generation En la siguiente ventana configuramos los siguientes campos: Console Configuration: seleccionamos ConfiguracionHibernate Output directory: ha de ser la carpeta src Package: escribimos primero Reveng.xml: localizamos el fichero reveng.xml creado anteriormente. Se puede localizar pulsando en el botón Setup.
  • 17. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.4. Generar las clases de la base de datos. Desde la pestaña Exporters se indica los ficheros que queremos generar. Se marcan las casillas: Domain code, Hibernate XML Mappins e Hibernate XML Configuration. Pulsamos el botón Apply y después el botón Run. Se nos generará un paquete llamado primero con las clases Java de las tablas EMPLEADOS y DEPARTAMENTOS así como un fichero xml para cada tabla con la información de mapeo.
  • 18. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.5. Primera consulta en HQL. Para comprobar si la conexión a la base de datos funciona correctamente, vamos a realizar alguna consulta en HQL. Desde el menú Window->Open Perspective->Other->Hibernate abrimos las perspectiva de Hibernate. Desde la pestaña Hibernate pulsamos en nuestra configuración ConfiguraciónHibernate y pulsamos con el botón derecho del ratón en Database->HQL Editor. Escribimos el siguiente código HQL desde la pestaña ConfiguracionHibernate: from Empleados y pulsamos el botón para ejecutar la consulta. Desde este entorno también podemos realizar consultas al estilo SQL, por ejemplo: select dnombre, loc, depNo from Departamentos select empNo, apellido, salario from Empleados where dept_no = 10 Desde la perspectiva Hibernate y pulsando con el botón derecho en Configuration seleccionamos Mapping Diagram para visualizar el diagrama de mapeo entre las clases Java y las tablas de la base de datos.
  • 19. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. Con la configuración realizada, aún no podemos empezar a programar en Java. Hemos de realizar los siguientes pasos: 1.Bajar la última distribución de Hibernate desde http://sourceforge.net/projects/hibernate/files/hibernate3/. 2.Creamos una carpeta dentro de Eclipse con nombre Hibernate. Descomprimimos el ZIP en esta carpeta. 3.Buscamos el fichero hibernate3.jar y lo copiamos en eclipseHibernate 4.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibrequired seleccionamos todos los ficheros y los copiamos a nuestra carpeta eclipseHibernate 5.Desde la carpeta eclipseHibernatehibernate-distribution-3.6.10.Finallibjpa seleccionamos todos los ficheros y los copiamos a nuestra carpeta eclipseHibernate
  • 20. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. 6. Bajar la última distribución de la librería slf4j desde la URL http://www.slf4j.org/download.html, lo descomprimimos y localizamos los ficheros slf4j-1.7.6.jar y slf4j-api-1.7.6.jar para copiarlos en la carpeta eclipseHibernate 7. Desde Eclipse, hacemos clic con el botón derecho en nuestro proyectoy pulsamos en Build Path->Add Libreries y elegimos User Librery. Pulsamos Next. 8. Pulsamos en User Libreries y a continuación en New. Nos pedirá el nombre de la librería que queremos agregar y escribimos, por ejemplo, HibernateLib. Pulsamos el botón OK. 9. Pulsamos el botón Add JARs y seleccionamos todos los JAR de nuestra carpeta Hibernate. Pulsamos el botón Abrir, despuñes Ok y por último, Finish. Con esto ya podemos crear el primer programa Java en nuestro proyecto que nos va a permitir comunicarnos con nuestra base de datos.
  • 21. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En primer lugar, crearemos una instancia de la base de datos para poder trabajar con ella y que se utilizará a lo largo de toda la aplicación. Necesitaremos crear un singleton. El singleton es un patrón de diseño para restringir la creación de objetos pertenecientes a una clase. Su intención es garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella. El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance del constructor (con atributos como protegido o privado).
  • 22. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. Con esta clase podemos obtener la sesión actual desde cualquier parte de nuestra aplicación:
  • 23. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo insertar una fila en la tabla DEPARTAMENTOS:
  • 24. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo leer una fila en la tabla DEPARTAMENTOS:
  • 25. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo actualizar una fila en la tabla DEPARTAMENTOS:
  • 26. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo borrar una fila de la tabla DEPARTAMENTOS:
  • 27. UT 4. HERRAMIENTAS DE MAPEO OBJETO RELACIONAL (ORM) 3.6. Programar con Hibernate en Eclipse. En el siguiente código podemos ver un ejemplo de cómo ejecutar una consulta HQL desde el código Java sobre la tabla DEPARTAMENTOS: