//
archives

Programacion

Esta etiqueta está asociada a 3 entradas

Trabajando con Hibernate y Eclipse Helios.Parte II(Configurando Hibernate)

Trabajando con Hibernate y Eclipse Helios:

Parte I

Parte II:

Bueno en  la entrega anterior  vimos como instalar el plugin de hibernate en nuestro Eclipse, para poder seguir con el tutorial se supone que ya debes tener la base de datos llamada Ejemplo en MySQL.

Para esta entrega veremos como configurar hibernate para que se comunique con MySQL y nos cree las clases correspondientes de cada tabla de la base de datos Ejemplo.

Bueno  Creamos un nuevo proyecto en Eclipse :

File-> New –>Java Project

Ahora bien nuestro proyecto nos quedara algo asi:

image

 

Ahora lo que falta es agregar el driver de MySQL (http://dev.mysql.com/downloads/connector/j/)

Seleccionamos nuestro proyecto  y presionamos boton derecho y nos vamos a Buil Paths-> Add Libreries  se desplegara una ventana parecida a esta:

image

Seleccionamos Connectivity Driver Definition y presionamos Next ahora nos saldra una ventana dando las opciones abiables para conectarnos a una fuente de datos en este caso es JDBC MySQL Driver lo seleccionamos y presionamos el trinagulito que viene aun lado.

image

 

ahora bien nos saldra  otra ventana con la configuracion del driver  he de aclarar que Eclipse no tiene el driver por eso vamos a editar la configuracion para decirle cual es jar que se va a usar para la conexion , En este punto es donde nos vamos a la pestaña Jar List y presionaremos el boton Add Jar/Zip y seleccionamos el driver que bajamos anteriormente .

Nota: Cuando se descarguen el driver de la pagina descomprimanlo antes  y ahi esta un archivo llamado mysql-connector-java-5.1.13-bin este es el que deben seleccionar.

Una vez terminado  le damos en finish y en nuestro proyecto debe aparecer algo asi.

image

Si se dan cuenta se ha agregado la referencia a MySQL.

Configuración de Hibernate:

Seleccionamos  nuestro proyecto y presionamos boton derecho del mouse y vamos a:

New-> Other->Hibernate->Hibernate Configuration File(cfg.xml)

Este archivo no es mas que un xml que contiene todo lo necesario para realizar la conexion  a la base de datos .

image

Presionamos  Next y nos pedira donde crear el archivo para este ejmplo usaremos el folder default “src”  presionamos Next y a continuacion nos pedira los datos para poder realizar nuestra conexion a la base de datos:

image

Explico rapidamente los campos mas importantes:

  • Session factory name: Como se llamara nuestra conexion a MySQL
  • Database Dialect: Como se va a comunicar el JDBC con la base de datos.
  • Database Class: La clase del JDBC que se va a usar para la conexion.
  • Conection URL: La ruta de conexion de nuestra base de datos.
  • Username: Usuario para conectarse a MySQL
  • Password: Password para conectarse a MySQL.

image

Bueno Aqui en la imagen dejo los datos para conectarse a MySQL  sin en dado caso en driver class no te aparece com.mysql.jdbc.Driver significa que no instalaste bien el JDBC de MySQL.

Ahora sigue crear el xml Hibernate Console Configuration.

image

 

Le presionamos siguiente y nos saldra otra ventana:

image

En el apartado: Configuration  file ya viene seleccionado nuestro archido de configuracion si no lo seleccionamos. este ya lo creamos antes, en el campo Name: le ponemos un nombre a nuestra configuracion yo lo llame “ConfiguracionHb”  y presionamos Finish.

 

Por ultimo  falta crear el  Hibernate Reverse Engineering(reveng.xml)

Este archivo es el encargado de crear las clases de nuestras tablas de MySQL.

image

 

Presionamos Next y nos pedira que indiquemos donde se va a guardar Importante!! se debe guardar en el mismo paquete que el cfg.xml este esta en src asi que ahi guardaremos el reveng.xml, presionamos next y nos aparecera una ventana si todo va bien aqui es donde diremos que tablas queremos mapear presionamos refresh y so todo salio bien  se mostrara nuestra base de datos y sus tablas.

image

Seleccionamos ya sea una por una o todas las tablas y presionamos el boton include y presionamos finish.

image

Aquí el código fuente  generado automáticamente de el Reveng.xml

 


<?xml version="1.0" encoding="UTF-8"?>

<hibernate-reverse-engineering>
  <table-filter match-catalog="Ejemplo" match-name="alumno"/>
  <table-filter match-catalog="Ejemplo" match-name="grupo"/>
</hibernate-reverse-engineering>

 

Solo falta generar las clases  de nuestra base de datos Ejemplo, para lograr esto debemos presionar un botón parecido al de Run –>Hibernate Code Generation  Configurations (tiene una especie de candado)

image

Aparecerá una ventana de configuración, en esta especificaremos:

Pestaña Main:

Console Configuration: ConfiguracionHB

Output directory: debe ser el mismo  source folder que es “src”

Package:modelos

revenge.xml: nuestro archivo revenge.xml ya creado con anterioridad.Muestro como quedaría configurada esta pestaña.

image

En la pestaña exporters debemos indicar que archivos quiero que se generen :

image

Una vez seleccionado daremos en Apply y posteriormente en Run.

Si todo sale bien nos generara un paquete llamado modelos y  con las clases de nuestras tablas!.

image

Si se dan cuenta nos genera un total de 6 archivos 3 clases y 3 archivos xml. Estos xml contienen la informacion del mapeado de su respectiva tabla y las clases sus set y gets de cada campo de la tabla.

Para comprobar que hemos realizado  correctamente nos vamos a la perspectiva de Hibernate y seleccionamos  nuestra configuracion en la pestaña hibernate  configurations y le damos click derecho en Database-> HQL Editor

y pondremos un sencillo  codigo HQL de prueba .


from Alumno

y nos aparecera algo como esto:

image

en el panel HQL Result veremos dos registros si seleccionamos uno veremos en el panel Properties los el contenido del registro para esto me tome la molestia de agregar dos alumnos desde MySQL.

Esto significa que  ya esta configurado Hibernate para poder trabajar .

En la proxima entrega veremos como agregar nuevos registros, modificarlos y eliminarlos hasta la proxima.

Trabajando con Hibernate y Eclipse Helios. Parte I(Preparando el Entorno)

Antes de empezar este pequeño tutorial vamos a explicar algunos conceptos.

Que es Hibernate?

Hibernate es una herramienta de Mapeo objeto-relacional para la plataforma Java (y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.

Hibernate es software libre, distribuido bajo los términos de la licencia GNU LGPL.

Características

Como todas las herramientas de su tipo, Hibernate busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación: el usado en la memoria de la computadora (orientación a objetos) y el usado en las bases de datos (modelo relacional). Para lograr esto permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Con esta información Hibernate le permite a la aplicación manipular los datos de la base operando sobre objetos, con todas las características de la POO. Hibernate convertirá los datos entre los tipos utilizados por Java y los definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del manejo manual de los datos que resultan de la ejecución de dichas sentencias, manteniendo la portabilidad entre todos los motores de bases de datos con un ligero incremento en el tiempo de ejecución.

Hibernate está diseñado para ser flexible en cuanto al esquema de tablas utilizado, para poder adaptarse a su uso sobre una base de datos ya existente. También tiene la funcionalidad de crear la base de datos a partir de la información disponible.

Hibernate ofrece también un lenguaje de consulta de datos llamado HQL (Hibernate Query Language), al mismo tiempo que una API para construir las consultas programáticamente (conocida como "criteria").

Hibernate para Java puede ser utilizado en aplicaciones Java independientes o en aplicaciones Java EE, mediante el componente Hibernate Annotations que implementa el estándar JPA, que es parte de esta plataforma.

Fuente: http://es.wikipedia.org/wiki/Hibernate

Bueno ya aclarado vamos a empezar para este tutorial vamos a usar el IDE Eclipse Helios por si aun no lo tienen aqui dejo el enlace. http://www.eclipse.org/downloads/  recomiendo bajar la version de java EE Developers bueno es cuestion de gustos.

Recomiendo bastante el IDE Eclipse ya que es muy versatil  y tiene bastantes plugins que ofrecen gran poder al desarrollar aplicaciones ya sea de escritorio o web.

Una vez descargado he instalado  eclipse( en este tutorial no abarcaremos como hacerlo)  ahora lo que viene es preparar  nuestro eclipse para usar hibernate para esto necesitamos instalar el plugin de hibernate para Eclipse.

Para esto nos vamos al menu de Eclipse  Help-> Install New Software

en donde dice Work With escribimos:

http://download.jboss.org/jbosstools/updates/development/

image

Nos vamos a donde dice Data Services-> Hibernate Tools lo seleccionamos y le damos al boton Next  de ahi nos dara la licencia y  lo instalara , nos pedira reiniciar  Eclipse y listo.

 

Para darnos cuenta de que ha quedado instalado  el plugin de Hibernate solo basta con ir las perspectivas y veremos que tenemos la perspectiva de Hibernate.

image

Ya que tenemos configurado Eclipse necesitamos tener nuestra base de datos ya lista.

Para este ejemplo voy a ocupar  MySQL   aqui dejo  el diagrama de como quedaria  la base de datos llamada Ejemplo.

image

A continuacion les dejo el Script para generarlo:


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `Ejemplo` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `Ejemplo` ;

-- -----------------------------------------------------
-- Table `Ejemplo`.`Grupo`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Ejemplo`.`Grupo` (
  `Id_Grupo` INT NOT NULL AUTO_INCREMENT ,
  `Nombre` VARCHAR(50) NULL ,
  PRIMARY KEY (`Id_Grupo`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Ejemplo`.`Alumno`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Ejemplo`.`Alumno` (
  `Id_Alumno` INT NOT NULL AUTO_INCREMENT ,
  `Nombre` VARCHAR(50) NULL ,
  `Escuela` VARCHAR(50) NULL ,
  `Grupo_Id_Grupo` INT NOT NULL ,
  PRIMARY KEY (`Id_Alumno`, `Grupo_Id_Grupo`) ,
  INDEX `fk_Alumno_Grupo` (`Grupo_Id_Grupo` ASC) ,
  CONSTRAINT `fk_Alumno_Grupo`
    FOREIGN KEY (`Grupo_Id_Grupo` )
    REFERENCES `Ejemplo`.`Grupo` (`Id_Grupo` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

-- -----------------------------------------------------
-- Data for table `Ejemplo`.`Grupo`
-- -----------------------------------------------------
SET AUTOCOMMIT=0;
USE `Ejemplo`;
INSERT INTO `Ejemplo`.`Grupo` (`Id_Grupo`, `Nombre`) VALUES ('1', 'S302');
INSERT INTO `Ejemplo`.`Grupo` (`Id_Grupo`, `Nombre`) VALUES ('2', 'S401');
INSERT INTO `Ejemplo`.`Grupo` (`Id_Grupo`, `Nombre`) VALUES ('3', 'S501');
INSERT INTO `Ejemplo`.`Grupo` (`Id_Grupo`, `Nombre`) VALUES ('4', 'S602');
INSERT INTO `Ejemplo`.`Grupo` (`Id_Grupo`, `Nombre`) VALUES ('5', 'S702');

COMMIT;

Para generar la base de datos se puede crear desde la consola de MySQL o usar MySQL WorkBench en lo personal  el mejor manejador  de MySQL. aqui les dejo el link http://wb.mysql.com/

Bueno hasta aqui la primera parte de este tutorial.

En la siguiente entregar veremos como configurar Hibernate.

Instalar PostgreSQL 8.4 de manera Desatendida!

Bueno en esta ocasión les traigo  una manera tal vez no es tan eficiente pero si la complementan con un instalador es una manera muy útil de como instalar postgreSQL de manera desatendida  en artículos posteriores iré publicando como también crear  la base de datos igualmente de manera desatendida , además  como poder realizar un instalador que ejecute estas tareas he instalar nuestra aplicación  y el usuario final solo tenga que hacer el típico siguiente, siguiente etc…

Bueno a lo que vamos para poder realizar esta operación necesitamos crear un archivo.BAT  yo lo llame InstalarPost.BAT  con un Bloc de Notas.

aqui el codigo fuente:

@echo off
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_PATH=%~p0
set R=%_SCRIPT_DRIVE%%_SCRIPT_PATH%
cd %R%
%R%%postgresplus-8.4.1-2-windows.exe –mode unattended –superpassword postgres  –unattendedmodeui none

Si analizan el código del BAT  busca la ruta de donde se ejecuta el bat y ahí mismo busca  el installer del PostgreSQL (eso significa que peguen el instalador de PostgreSQL donde tienen el BAT) después solo le damos los parámetros que se explican a continuación.

–mode unattend :Significa que es en modo silencioso o desatendido

–superpassword : Se entiende el password que se le da al usuario postgres que  PostgreSQL genera.(puede ser el pass que ustedes quieran

–unattendedmodeui : Le decimos que queremos que el usuario no tenga ninguna intervencion en la instalacion de PostgreSQL.

Nota: Este método al parecer no es compatible con versiones anteriores de PostgreSQL pues antes se instalaba mediante un .msi  asi solo es de cuidar que versión se quiere instalar.

Encuesta del Mes.

Estadisticas del Blog

  • 53.995 hits