SlideShare a Scribd company logo
1 of 15
Curso de Struts 2
Unidad Didáctica 06
Integración con Hibernate
David Vaquero
Objetivos
Saber cómo integrar una aplicación
Struts 2 con Hibernate
Índice de
contenidos
Introducción
Dependencias pom.xml
Configuración hibernate.cfg.xml
Configuración user.hbm.xml
Inicialización del modelo
El DAO
Funcionalidades típicas
Introducción
Hibernate es un framework de
persistencia Java
Permite la conexión y la gestión de
la información en fuentes de
información
Principalmente está integrado
contra los SGBD
Dependencias
pom.xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
Dependencias
pom.xml
Integración con HSQLDB
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
</dependency>
Configuración
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration><session-factory>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:testdb</property>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property
name=“hibernate.connection.provider.class">org.hibernate.connection.DriverManagerConnectionP
rovider</property><property name="hibernate.hbm2ddl.auto">create-drop</property>
<mapping resource="user.hbm.xml" />
</session-factory></hibernate-configuration>
Configuración
user.hbm.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="example.actions.UserAction" table="user451">
<id name="id">
<generator class="increment"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping>
Inicialización del
modelo
public static Session session;
public static Session getSession(){
if(session==null){
session=new
Configuration().configure("hibernate.cfg.xml").buildSessionFac
tory().openSession();
}
return session;
}
El DAO
- El DAO es una clase que debe manejar la
interacción contra una entidad
- La entidad es la que maneja la información de
una clase, normalmente referenciada a los
registros de una tabla y sus campos
- Se trata de un mapeo de los campos de la tabla a
una clase con sus propiedades
- Debería proveer de las funciones que permitan
interactuar contra la “tabla”/Entidad
Funcionalidades
típicas
- Salvado de un objeto
public static int saveUser(Entidad objeto){
Transaction t=session.beginTransaction();
int i=(Integer)session.save(objeto);
t.commit();
return i;
}
Funcionalidades
típicas
- Listados de objetos
public static List<Entidad> listUser(){
Transaction t=session.beginTransaction();
List<Entidad>
listado=session.createCriteria(Entidad.class).list();
t.commit();
return listado;
}
Funcionalidades
típicas
- Coger un objeto por ID
public static Entidad getObject(Integer id){
Entidad objeto=(UserAction)
session.get(UserAction.class, id);
return objeto;
}
Funcionalidades
típicas
- Borrar un objeto
public static void
deleteObject(Entidad objeto){
session.delete(objeto);
}
Licencia y
Financiación
La licencia de la presentación el
CC-BY-SA-NC 3.0 registrada a
nombre de David Vaquero Santiago
http://creativecommons.org/licenses/
by-nc-sa/4.0/

More Related Content

What's hot

Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1
Juan Gallardo Ortiz
 
Word press
Word pressWord press
Word press
guss1996
 
Word press
Word pressWord press
Word press
guss1996
 
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
David Vaquero
 
Dn13 u3 a34_poe
Dn13 u3 a34_poeDn13 u3 a34_poe
Dn13 u3 a34_poe
elisoyyo
 
Dn13 u3 a35_poe
Dn13 u3 a35_poeDn13 u3 a35_poe
Dn13 u3 a35_poe
elisoyyo
 
gestores de contenido
gestores de contenidogestores de contenido
gestores de contenido
doris_mile01
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
David Vaquero
 

What's hot (20)

Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
 
Introducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.xIntroducción a la gestión de contenidos web con Liferay Portal 6.1.x
Introducción a la gestión de contenidos web con Liferay Portal 6.1.x
 
Liferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básicaLiferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básica
 
Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1
 
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio WebCurso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
 
Word press
Word pressWord press
Word press
 
Word press
Word pressWord press
Word press
 
Liferay Open Source
Liferay Open SourceLiferay Open Source
Liferay Open Source
 
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
 
Dn13 u3 a34_poe
Dn13 u3 a34_poeDn13 u3 a34_poe
Dn13 u3 a34_poe
 
Dn13 u3 a35_poe
Dn13 u3 a35_poeDn13 u3 a35_poe
Dn13 u3 a35_poe
 
gestores de contenido
gestores de contenidogestores de contenido
gestores de contenido
 
Joomla!
Joomla!Joomla!
Joomla!
 
Liferay
LiferayLiferay
Liferay
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
 
Drupal
DrupalDrupal
Drupal
 
wordpress
wordpresswordpress
wordpress
 
Sistema de gestión de contenidos
Sistema de gestión de contenidosSistema de gestión de contenidos
Sistema de gestión de contenidos
 
Joomla!
Joomla!Joomla!
Joomla!
 
Sistema de gestion de contenidos
Sistema de gestion de contenidosSistema de gestion de contenidos
Sistema de gestion de contenidos
 

Viewers also liked

Viewers also liked (14)

Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y AtributosCurso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
 
Magento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 ProductosMagento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 Productos
 
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportaciónCurso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
 
Curso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 ComponentesCurso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 Componentes
 
Curso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 IntroduccionCurso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 Introduccion
 
Curso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 FormulariosCurso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 Formularios
 
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 IntroducciónCurso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
 
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion BásicaCurso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
 
Curso de Struts 2: Unidad Didáctica 02 Acciones
Curso de Struts 2: Unidad Didáctica 02 AccionesCurso de Struts 2: Unidad Didáctica 02 Acciones
Curso de Struts 2: Unidad Didáctica 02 Acciones
 
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 InstalacionCurso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
 
Android 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLiteAndroid 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLite
 
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasCurso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
 
Android 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantallaAndroid 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantalla
 

Similar to Struts 2: Unidad Didáctica 06 Integracion con Hibernate

Manual hibernate
Manual hibernateManual hibernate
Manual hibernate
shimbosan17
 
Practica Apache 3 mod dav
Practica Apache 3 mod davPractica Apache 3 mod dav
Practica Apache 3 mod dav
jsucarmona
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
Dani Latorre
 

Similar to Struts 2: Unidad Didáctica 06 Integracion con Hibernate (20)

Manual hibernate
Manual hibernateManual hibernate
Manual hibernate
 
Hibernate 3.2 short manual
Hibernate 3.2 short manualHibernate 3.2 short manual
Hibernate 3.2 short manual
 
Hibernate - Introducción
Hibernate - IntroducciónHibernate - Introducción
Hibernate - Introducción
 
Sesion03 apuntes
Sesion03 apuntesSesion03 apuntes
Sesion03 apuntes
 
Frameworks Java
Frameworks JavaFrameworks Java
Frameworks Java
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_software
 
Practica3apache
Practica3apachePractica3apache
Practica3apache
 
UDA-Anexo uso de webDAV
UDA-Anexo uso de webDAVUDA-Anexo uso de webDAV
UDA-Anexo uso de webDAV
 
Capitulo_3_1.pptx
Capitulo_3_1.pptxCapitulo_3_1.pptx
Capitulo_3_1.pptx
 
Practica Apache 3 mod dav
Practica Apache 3 mod davPractica Apache 3 mod dav
Practica Apache 3 mod dav
 
Tema 4
Tema 4Tema 4
Tema 4
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
 
Orm hibernate springframework
Orm hibernate springframeworkOrm hibernate springframework
Orm hibernate springframework
 
Spring tutorial v0.271
Spring tutorial v0.271Spring tutorial v0.271
Spring tutorial v0.271
 
Jdbc
JdbcJdbc
Jdbc
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Struts 2: Unidad Didáctica 06 Integracion con Hibernate