Hibernate y Spring

hibernate

Hibernate es una herramienta ORM (Mapeo objeto-relacional). Es un framework que facilita la relación entre una aplicación y la base de datos. Este framework nos permite pasar los datos de una tabla de una base de datos como atributos de un objeto en java para poder trabajar. Con un ORM podremos realizar estas tareas fácilmente ya que dispone de las tareas repetitivas y solo se debería tener en cuenta las consultas fuera de lo normal.

Funcionamiento: Para trabajar con hibernate se configura en un archivo XML o mediante annotations (forma de añadir metadatos al código fuente disponibles en tiempo de ejecución) que utilizaremos para asignar a los atributos de una clase una columna de una tabla.

Librerías: Las librerías principales para trabajar con hibérnate son hibernate3.jar y hibernate-testing.jar. Existen varias clases de soporte que se usan también. Se pueden descargar en

Un ejemplo de hibérnate es el siguiente:

Java Clase Coche             (Coche.java)

package modelo;
 import java.io.Serializable;
  
 public class Coche implements Serializable{
 private long id;
 private String marca;
 private int precio;
  
 public Coche() {
super();
}
public Coche(long id, String marca, int precio) {
.super();
this.id = id;
this.marca = marca;
this.precio = precio;
.}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public int getPrecio() {
return precio;
}
public void setPrecio(int precio) {
this.precio = precio;
}
}

Xml mapeo archivo en el que indicamos atributo corresponde con que columna de la tabla      (Coche.hbm.xml)

<?xml version="1.0"?>
 <!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  
 <hibernate-mapping>
 <class name="modelo.Coche" table="COCHES">
 <id name="id" column="ID">
 <generator />
</id>
<property name="marca" type="string" column="MARCA"/>
<property name="precio" type="integer" column="PRECIO"/>
</class>
</hibernate-mapping>

Xml que crea la conexión BD            (hibérnate.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>
  
 <!-- parametros para la conexion a la base de datos -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/hibernateXML</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- Configuracion del pool interno -->
<property name="connection.pool_size">1</property>
<!-- Dialecto de la base de datos -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- Otras propiedades importantes -->
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<!-- Archivos de mapeo -->
<mapping resource="mapeos/Coche.hbm.xml"/>
</session-factory>
</hibernate-configuration>

Java para establecer la conexión      (HibernateUtil)

import org.hibernate.HibernateException;
 import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Configuration;
  
 public class HibernateUtil {
  
 private static final SessionFactory sessionFactory;
 static {
 try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = newConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
.throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}

Java Clase main         (Main.java)

import modelo.Coche;
  
 import org.hibernate.Session;
  
 public class Main {
 public static void main(String[] args){
 Session session =HibernateUtil.getSessionFactory().openSession();
 session.beginTransaction();
  
Coche coche=new Coche();
coche.setMarca("PepeMotor");
coche.setPrecio(800);
session.save(coche);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
}
}

Si ejecutamos este programa añadirá a la base de datos un coche nuevo con los parámetros del main.

spring-security

Es un framework que proporciona una infraestructura que actúa de soporte para desarrollar aplicaciones java, une todos los componentes de la aplicación, maneja su ciclo de vida y la interacción entre ellos. Se usa habitualmente en entornos web pero se puede usar para  cualquier aplicación java. Spring es muy grande por lo que se divide en módulos, de esta forma en un proyecto solo utilizas las partes de Spring que son necesarias.

S1_1

Anuncios

Publicado el 19/12/2013 en AD y etiquetado en , . Guarda el enlace permanente. Comentarios desactivados en Hibernate y Spring.

Los comentarios están cerrados.

A %d blogueros les gusta esto: