Configuacion de cluster MySQL
Leer nota completa...
lunes, 11 de junio de 2012
miércoles, 6 de junio de 2012
NHiBERNATE Y REPLICACION SQL
Nhibernate, Motor de persistencia
Puesto
a que este mundo es muy cambiante debemos estar al tanto de las diferentes
tipos de tecnologías que vienen saliendo al campo informático. Herramientas que
van a facilitar la vida de cualquier programados, analista de base de datos,
administrador de red, en fin en este campo tan variado y complicado que es la
informática. Con este trabajo daremos a conocer una de las tantas tecnologías
nuevas en las que el campo de programación va avanzando y mejorando para lograr
hacer la vida de dichos más fácil.
Leer nota completa...
lunes, 21 de mayo de 2012
Cluster PostgreSQL En Windows
Introducción a Postgresql
Durante el transcurso de las últimas tres décadas, se han manejado una infinidad de gestores de bases de datos, ya sean libres o propietarios; con características únicas en cada uno de ellos y otras que no muestran mayor diferencia, pero igual todas son útiles sin dejar de lado sus ventajas y desventajas; en éste terreno de gestion de bases de datos todos tienen algo bueno que ofrecer.
Postgresql fue el pionero en muchos de los conceptos existentes en el sistema objeto-relacional actual, incluido, más tarde en otros sistemas de gestión comerciales. PostGreSQL es un sistema objeto-relacional, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional. A pesar de esto, PostGreSQL no es un sistema de gestión de bases de datos puramente orientado a objetos.
Características
Algunas de las principales características de este gestor de bases de datos son, entre otras:
- Implementación del estándar SQL92/SQL99.
- Soporta distintos tipos de datos: además del soporte para los tipos base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP), cadenas de bits, etc. También permite la creación de tipos propios.
- Incorpora una estructura de datos array.
- Incorpora funciones de diversa índole: manejo de fechas, geométricas, orientadas a operaciones con redes, etc.
- Permite la declaración de funciones propias, así como la definición de disparadores.
- Soporta el uso de índices, reglas y vistas.
- Incluye herencia entre tablas (aunque no entre objetos, ya que no existen), por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales.
- Permite la gestión de diferentes usuarios, como también los permisos asignados a cada uno de ellos.Ventajas de usar PostgreSQL
La mejor parte e incluso más significativa de este gestor son las ventajas que ofrece: - A pesar de que la velocidad de respuesta pueda parecer deficiente en bases de datos pequeñas, esa velocidad se mantiene al aumentar el tamaño de la base de datos, cosa que no sucede con otros programas, que se enlentecen brutalmente.
- Instalación ilimitada: No se puede demandar a una empresa por instalarlo en más ordenadores de los que la licencia permite, ya que no hay costo asociado a la licencia de software.
- Estabilidad y confiabilidad
- Puede operar sobre distintas plataformas, incluyendo Linux, Windows, Unix, Solaris y MacOS X.
- Buena escalabilidad ya que es capaz de ajustarse al número de CPU y a la cantidad de memoria disponible de forma óptima, soportando una mayor cantidad de peticiones simultáneas a la base de datos de forma correcta.Desventajas de usar Postgresql
Los mayores inconvenientes que se pueden encontrar en este gestor son: - Es fácil de vulnerar sin protección adecuada.
- Es de 2 a 3 veces más lento que MySQL en inserciones y actualizaciones.
- Reducida cantidad de tipos de datos.
- Sin experiencia, configurar llega a ser un caos.Alta concurrenciaMediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para: - Números de precisión arbitraria.
- Texto de largo ilimitado.
- Figuras geométricas (con una variedad de funciones asociadas).
- Direcciones IP (IPv4 e IPv6).
- Bloques de direcciones estilo CIDR.
- Direcciones MAC.
- Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL.Instalación
A continuación se listan los pasos para la instalación del gestor de bases de datos:- Descargar el instalador desde http://www.postgresql.org.es/
- Ejecutar el instalador
- Seleccionar un directorio para almacenar los datos, podemos dejar las carpetas por defecto.
- Ingresar una contraseña
- Seleccionar la región con la que trabajará el proceso de la instalación, dejando la predefinida para menor complicación
- Esperar que se haya completado la instalación
- Terminada la instalación de PostgreSQL quitamos la selección de la última opción mostrada y damos clic en “Terminar”.
Todo
esto es para una instalación típica de PostgreSQL 9.1 con
configuraciones básicas pero funcionales (Como se muestra en el
siguiente video).
Configuración de PostgreSQL -Cluster (Servidor)
Como
primer paso se crea una carpeta en la unidad de destino donde se
instalará el cluster; por ejemplo, se creó una carpeta llamada Cluster1
en la unidad C (C:\Cluster1). Paso siguiente, se agrega una variable de
entorno la cual corresponde a la carpeta BIN del postgreSQL la cual
corresponde a C:\Archivos de programa\PostgreSQL\9.1\bin
Para eso damos clic derecho a “Equipo”, luego en “Configuración avanzada del sistema”, en el cuadro de diálogo de Propiedades del sistema damos clic en el botón “Variables de entorno...”, luego en Variables del sistema buscamos y seleccionamos la variable “Path” y le damos clic en editar y pegamos la dirección de la carpeta “bin” anteponiendo antes un “;” (punto y coma). Como último paso se le da Aceptar a todos los cuadros de diálogo que se abrieron.
Para eso damos clic derecho a “Equipo”, luego en “Configuración avanzada del sistema”, en el cuadro de diálogo de Propiedades del sistema damos clic en el botón “Variables de entorno...”, luego en Variables del sistema buscamos y seleccionamos la variable “Path” y le damos clic en editar y pegamos la dirección de la carpeta “bin” anteponiendo antes un “;” (punto y coma). Como último paso se le da Aceptar a todos los cuadros de diálogo que se abrieron.
Ahora en una consola (cmd) se digita el siguiente comando para crear el cluster:
initdb -D C:\Cluster1 (Donde Cluster1 Es la carpeta donde se aloja el cluster)
Luego se inicia con el comando:
pg_ctl start -D C:\Cluster1
Luego de la instalación del servidor de bases de datos PostgreSQL existen tres archivos para configurar el servidor que son:
- postgresql.conf
- pg_hba.conf
- pg_ident.conf. *(Para esta configuración no será necesario modificar éste archivo)
Estos archivos establecen la manera en que se comporta e interactúa el servidor PostgreSQL y se encuentran ubicados generalmente en el directorio “C:\Archivos de programa\PostgreSQL\9.1\data” en Windows y en el directorio “/var/lib/pgsql/data” en Linux.
Cabe recalcar que estos mismos archivos de configuración son los que aparecen y que se modifican en los cluster que se crean; es decir, que por cada cluster, se modifican esos archivos con extensión “.conf”; por ejemplo: Si se hace un cluster en la unidad C dentro de una carpeta de nombre MiCluster, la ruta de los archivos de configuración estarían en “C:\MiCluster/”.
A continuación se muestran los parámetros que se modifican en el archivo postgresql.conf para su funcionamiento más personalizado:
- En listen_addresses se quita el # de la línea para des comentarlo y cambiamos el parametro listen_addresses = ‘localhost’ a listen_addresses = ‘*’ para que pueda escuchar desde cualquier dirección IP.
- De igual manera port=5432 se cambia al valor de 5445 ya que la instalación por defecto del postgresql se auto asignó el puerto 5432.
- El parámetro max_connections = 100 tiene ese valor por defecto.
- Al final guardamos los cambios en dicho archivo
- Estos parámetros son modificados en los archivos .conf del cluster por supuesto.#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5445 # (change requires restart)
max_connections = 100 # (change requires restart)
El archivo pg_hba.conf se modifica en los parámetros siguientes:
- Al final del archivo se encuentran los rangos de IP’s que el gestor va a permitir la conexión, es ahí donde agregamos una nueva línea similar a la loopback en ipv4 pero con la diferencia que tendrá la red o la IP del cliente que tendrá acceso ya sea a una o todas las bases de datos alojadas en el servidor y de igual manera a los usuarios que tendrán acceso a las mismas.
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication Wendy 127.0.0.1/32 trust
#host replication Wendy ::1/128 trust
Para la configuración de parte de un cliente para conectarse a un cluster remoto es el siguiente:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication Wendy 127.0.0.1/32 trust
#host replication Wendy ::1/128 trust
Para la configuración de parte de un cliente para conectarse a un cluster remoto es el siguiente:
- Primero abrimos el pgAdmin para iniciar la aplicación de postgreSQL
- Se crea una nueva conexión desde el ícono con forma de “enchufe”.
- En el asistente, nos ubicamos en la ficha Properties e ingresamos el nombre del servidor, el host, el puerto por el cual escuchará el servidor y elegimos la base de datos a la cual nos conectaremos, el Username es el usuario el cual tiene permiso para autenticarse en el servidor remoto.
- Luego nos ubicamos en la ficha Advanced y quitamos los checkboxes activos y nuevamente agregamos la IP del servidor al que se conectará, al final se da clic en Aceptar y de ésta forma ya esta hecha la nueva conexión al servidor.
- En la nueva conexión creada damos clic derecho/Conectar
- En el cuadro de diálogo que aparece para conectar al servidor ingresamos la contraseña que tenemos asignada en nuestra máquina.
- Nos conectamos a la base de datos del servidor, en la cual está físicamente la base de datos.
Ahora podremos crear o modificar tablas.
Ilustración de la Topologia realizada:
Grupo de Trabajo:
José Ricardo Interiano Ruíz | |
Wendy Iliana Luna López | |
Henry Alberto Quijano Peñate | |
Moisés Alejandro Pérez Chávez |
Leer nota completa...
sábado, 19 de mayo de 2012
Objetos de Esquemas Cap 9 Z052 oracle administracion
miércoles, 25 de abril de 2012
sábado, 21 de abril de 2012
Estructura de Almacenamiento en Oracle Database
Estructura de Almacenamiento en Oracle Database
Detalle del articulo completo a publicar
Leer nota completa...
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
View more presentations from Alexander Calderón.
Detalle del articulo completo a publicar
Leer nota completa...
jueves, 15 de marzo de 2012
Entorno de Red Oracle Database 11g
Preparando el entorno de Red de Oracle Database 11gZ052 06
Detalle del articulo completo a publicar
View more PowerPoint from Alexander Calderón
Leer nota completa...
jueves, 8 de marzo de 2012
Administrando la Base de Datos y la Instancia.
Creando una base de datos Oracle Z052 04
View more PowerPoint from Alexander Calderón
Administrando la Instancia en Oracle database 11g-Z052 05
Detalle del articulo completo a publicar
View more PowerPoint from Alexander Calderón
Leer nota completa...
viernes, 2 de marzo de 2012
Una dosis de normalizacion
Desde el punto de vista de los programadores, administradores de bases de datos, y demás afines a la informática, normalización es un paradigma con el cual se busca que una base de datos relacional minimice los problemas de coherencia de datos.
Este articulo busca refrescarnos las primeras formar normales, y abordar el primer paso en lo que muchos consideran formas normales avanzadas, no quiero profundizar en los detalles teóricos, pues esos los encuentran en los miles de libros aburridos de bases de datos que están en la red, en lugar de ello quiero llevarlos por un recorrido practico que nos dirija el día de hoy hasta la Forma Normal de Boyce-Codd. .
En primer lugar planteamos un escenario: un modelo entidad relación para registra las visitas que realizan los empleados a distintos inmuebles registrados en la empresa, el empleado visita la vivienda y elabora unas observaciones al respecto, para realizar las visitas al empleado se le proporciona un vehículo para el rápido desplazamiento, la tabla RevisionVivienda almacena la información referida a las revisiones realizadas. Dedique 1 minuto para observar la figura y los datos ejemplo de la tabla RevisionVivienda.
Saludos...
Leer nota completa...
Este articulo busca refrescarnos las primeras formar normales, y abordar el primer paso en lo que muchos consideran formas normales avanzadas, no quiero profundizar en los detalles teóricos, pues esos los encuentran en los miles de libros aburridos de bases de datos que están en la red, en lugar de ello quiero llevarlos por un recorrido practico que nos dirija el día de hoy hasta la Forma Normal de Boyce-Codd. .
En primer lugar planteamos un escenario: un modelo entidad relación para registra las visitas que realizan los empleados a distintos inmuebles registrados en la empresa, el empleado visita la vivienda y elabora unas observaciones al respecto, para realizar las visitas al empleado se le proporciona un vehículo para el rápido desplazamiento, la tabla RevisionVivienda almacena la información referida a las revisiones realizadas. Dedique 1 minuto para observar la figura y los datos ejemplo de la tabla RevisionVivienda.
¿Identifico la anomalía en dicha tabla?
¿Aún no? Observe las visitas hecha el día 1-1-12 del
empleado EACP, ahora imagine que ese día el empleado se equivocó al momento de
registrar los datos, pues el no llevo el vehículo P1111, sino que utilizo para
dichas visitas el carro Z2222. Si usted debe hacer esta corrección a los datos
¿cuantas tuplas tendría que modificar?
Ahí está el problema, debería, si el modelo fuera
adecuado solo modificar una tupla, pero en lugar de ello, debe modificar en
este caso 3 tuplas, a pesar que los Carros son asignados todo el día a un
empleado.
Veamos paso a paso el proceso de normalización para la
tabla RevisionVivienda y así solucionar la anomalía.
1FN:
La tabla
RevisionVivienda ya está en primera forma normal, posee una llave primaria,
compuesta por el ID_Vivienda + Fecha y no tiene campos repetidos, importante es
mencionar que una vivienda solo puede ser revisada una vez el mismo día, por
ello se escogió esta llave primaria.
2FN:
Veamos,
esta cita que todos los campos que no son llave primaria, deben depender
funcionalmente de toda la llave primaria, y no de una parte de ella, los campos
ID_empleado, Observacion y Id_Carro, cumplen con esta condición, pues dependen
de toda la llave primaria, no de una parte de ella.
3FN:
Esta
cita que aquellos campos que dependan transitivamente de la llave primaria por
medio de otro campo, deben ser eliminados, veamos nuevamente los últimos 3
campos, ¿dependen transitivamente de otro campo? La respuesta es que NO, esta
tabla si cumple la tercera forma normal.
Bueno y entonces qué pasa con nuestra anomalía, paso las
primeras 3 formas normales. Para ello existe una solución, y es aplicar una
tercera forma normal más fuerte, que se conoce como Boyce-Cod.
Forma
Normal de Boyce-Codd:
En forma
sencilla cita, que debemos cumplir la condición que todo determinante en la
tabla debe ser llave candidata, pues entonces veamos los determinantes que
existen, y si alguno de ellos NO puede identificar de forma única una tupla,
dicha dependencia funcional debe eliminarse de la tabla.
1. Id_Vivienda
+ Fecha -> Id_empleado, Observacion, Id_Carro (llave
primaria OK)
2. Id_Vivienda
+ Id_Empleado + Fecha -> Observacion, Id_Carro (llave
candidata OK)
3. Id_Empleado
+ Fecha -> Id_Carro ( Problema)
Observemos la tercera dependencia funcional, el Carro es
asignado a un empleado en un día especifico, dicho empleado tendrá asignado
todo el día ese carro para realizar sus visitas a las viviendas, pero esta
dependencia funcional NO es una llave candidata de la relación, y ahí está el
problema.
Para solucionarlo debemos tomar esta dependencia funcional
y convertirla en otra tabla, de la cual será la llave primaria el determinante
de la dependencia. La solución se muestra en la siguiente figura:
Noten que se quitó el campo Id_carro de la tabla
RevisionVivienda, y se creó la nueva tabla AsignacionCarro.
Espero esta explicación les haya servido de mucho
provecho, y como ven se ha explicado de manera sencilla y muy al grano,
evitándonos horas y horas de leer páginas de un libro con muchos modelos
matemáticos enredados. Esperamos en próximamente explicar la siguiente forma
normal en otra dosis de normalidad.
Saludos...
Leer nota completa...
martes, 28 de febrero de 2012
Preparando el Entorno de Oracle Database 11g Z052- Cap 3
Oracle Database 11g. Entorno del gestor de bases de datos.. La actual presentacion describe las herramientas para administrar una base de datos Oracle 11g. ademas el plan y proceso de instalacion, asi como su asistente.
Cuerpo
Leer nota completa...
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
View more presentations from Alexander Calderón.
Cuerpo
Leer nota completa...
lunes, 27 de junio de 2011
HIBERNATE EN JAVA
Pasos a seguir para el acceso a la Base de Datos por medio de HIBERNATE....
Usando Hibernate en Java Swing Aplication
Creando la base de datos:
En este tutorial usaremos la base de datos mysql gratuita de netbeans llamada sakila, así que para agregarlo nos vamos al plugin manager de netbeans e instalamos y posteriormente activamos

Después de haber instalado el plugin nos vamos a la ventana de servicios para arrancar el mysql server y posterior con click derecho le damos en crear nueva base de datos:

Una vez agregada si no aparece conectada como en la imagen abajo la activamos mediante click derecho conectar:

Una vez la base de datos este lista procederemos a crear el proyecto.
Nos vamos a New Proyect, seleccionamos Java Aplicaction de la opción Java y le damos siguiente

En la siguiente ventana escribimos el nombre del proyecto (en este ejemplo le llamaremos hibernate_ejemplo), deseleccionamos la opción Use Dedicated Folder, deseleccionamos Create Main Class, y le damos en finalizar

Ahora como siguiente paso le agregaremos el soporte de hibernate a nuestro proyecto agregando las librerías de hibernate, desde el menú projects le damos click derecho al paquete de librerías y le damos en la opción Add Library y seleccionamos las librerías de hibernate en el cuadro de dialogo mostrado

Ya tenemos agregadas las librerías asi q procedemos a crear los archivos de configuración necesarios para hibernate, le damos click derecho al archivo del proyecto y le damos click a Other en la opción New. Ahora en la ventana de New File le damos seleccionamos hibernate y luego Hibernate Configuration Wizard y le damos siguiente.

En la siguiente ventana dejamos la configuración por defecto y le damos siguiente:
En la siguiente ventana en la opción de Database Connection seleccionamos Sakila de las opciones y luego click en finalizar.

Con esto se habrá creado un archivo hibernate.cfg.xml dentro de nuestro proyecto y procederemos a cambiarle algunas opciones en la configuración. En la sección de Optional Properties buscamos Configuration Properties lo expandimos y le damos Add:

Luego buscamos la opción Miscellaneous Properties la expandimos y le damos click en Add y selecionamos la opción hibernate.query.factory_class como Property Name y también seleccionamos org.hibernate.hql.classic.ClassicQueryTranslatorFactory como Property Value

Si le damos en la vista de XML podremos observar algo parecido a lo siguiente:
Siempre es aconsejable guardar los cambios después de agregar algo nuevo por cualquier catástrofe que pueda suceder (=P)
Como siguiente paso agregaremos el archivo HibernateUtil.java, dando click derecho en el pequete fuente del proyecto, click en New y luego en Other, aparecerá la ventana de nuevo archivo, seleccionamos hibernate y luego seleccionamos HibernateUtil.java y le damos click en siguiente:

En la siguiente ventana escribimos HibernateUtil como nombre de la clase y sakila.util como nombre del paquete y le damos en finalizar:

Ahora crearemos el archivo Reverse Engineering, nos vamos nuevamente al archivo fuente del proyecto, le damos click derecho, New y luego Other, veremos nuevamente la ventana de selección de archivo nuevo, ahí seleccionamos Hibernate Reverse Engineering Wizard en el listado desplegado de hibernate y damos click en siguiente:
En la ventana siguiente escribimos hibernate.reveng en File Name y click en siguiente:
Ahora en esta nueva ventana seleccionamos la tabla Actor de las tablas disponibles y le damos agregar y luego finalizar:
Ahora solo nos falta un archivo de configuración asi que, nuevamente nos vamos al origen del proyecto, le damos click derecho y seleccionamos New y luego seleccionamos Other, nos aparecerá el menú de selección de archivo nuevo, seleccionamos hibernate y luego Hibernate Mapping Files and POJOs
En esta nueva ventana seleccionamos las opciones de manera que quede de la siguiente manera:
Ahora que ya tenemos los archivos de configuración solo nos resta agregar una interfaz grafica esto lo hacemos de la siguiente manera:
Dejamos las configuraciones de la siguiente manera:

Una vez le damos en finalizar ya podemos agregar etiquetas, botones, cajas de texto y también una tabla de manera que se pueda ver de la siguiente forma:
Ahora procederemos a hacer unas consultas en el editor HQL Query, nos vamos a los archivos del proyecto, expandimos el default package, y le damos click derecho a hibernate.cfg.xml y seleccionamos Run HQL Query

En este editor veremos como se hacen las consultas usando hibernate. Y podemos probar el editor de la siguiente manera:
Ahora bien realizaremos un par de consultas:
from Actor a where a.firstName like 'PE%'
from Actor a where a.lastName like 'MO%'
Nos mostrara los siguientes resultados:

Ahora solo nos resta agregarle unas cuantas líneas de código:
private static String Busqueda_Basada_En_Nombre="from Actor a where a.firstName like '";
private static String Busqueda_Basada_En_Apellido="from Actor a where a.lastName like '";
private void runBusquedaBasadaEnNombre () {
executeHQLQuery(Busqueda_Basada_En_Nombre + jTextField1.getText() + "%'");
}
private void run BusquedaBasadaEnApellido () {
executeHQLQuery(Busqueda_Basada_En_Apellido+ jTextField2.getText() + "%'");
}
private void executeHQLQuery(String hql) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query q = session.createQuery(hql);
List resultList = q.list();
displayResult(resultList);
session.getTransaction().commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
Agregamos estas líneas también
private void displayResult(List resultList) {
Vector tableHeaders = new Vector();
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
Leer nota completa...
Usando Hibernate en Java Swing Aplication
Creando la base de datos:
En este tutorial usaremos la base de datos mysql gratuita de netbeans llamada sakila, así que para agregarlo nos vamos al plugin manager de netbeans e instalamos y posteriormente activamos

Después de haber instalado el plugin nos vamos a la ventana de servicios para arrancar el mysql server y posterior con click derecho le damos en crear nueva base de datos:

Una vez agregada si no aparece conectada como en la imagen abajo la activamos mediante click derecho conectar:

Una vez la base de datos este lista procederemos a crear el proyecto.
Nos vamos a New Proyect, seleccionamos Java Aplicaction de la opción Java y le damos siguiente

En la siguiente ventana escribimos el nombre del proyecto (en este ejemplo le llamaremos hibernate_ejemplo), deseleccionamos la opción Use Dedicated Folder, deseleccionamos Create Main Class, y le damos en finalizar

Ahora como siguiente paso le agregaremos el soporte de hibernate a nuestro proyecto agregando las librerías de hibernate, desde el menú projects le damos click derecho al paquete de librerías y le damos en la opción Add Library y seleccionamos las librerías de hibernate en el cuadro de dialogo mostrado

Ya tenemos agregadas las librerías asi q procedemos a crear los archivos de configuración necesarios para hibernate, le damos click derecho al archivo del proyecto y le damos click a Other en la opción New. Ahora en la ventana de New File le damos seleccionamos hibernate y luego Hibernate Configuration Wizard y le damos siguiente.

En la siguiente ventana dejamos la configuración por defecto y le damos siguiente:
En la siguiente ventana en la opción de Database Connection seleccionamos Sakila de las opciones y luego click en finalizar.
Con esto se habrá creado un archivo hibernate.cfg.xml dentro de nuestro proyecto y procederemos a cambiarle algunas opciones en la configuración. En la sección de Optional Properties buscamos Configuration Properties lo expandimos y le damos Add:

Luego buscamos la opción Miscellaneous Properties la expandimos y le damos click en Add y selecionamos la opción hibernate.query.factory_class como Property Name y también seleccionamos org.hibernate.hql.classic.ClassicQueryTranslatorFactory como Property Value

Si le damos en la vista de XML podremos observar algo parecido a lo siguiente:
Siempre es aconsejable guardar los cambios después de agregar algo nuevo por cualquier catástrofe que pueda suceder (=P)Como siguiente paso agregaremos el archivo HibernateUtil.java, dando click derecho en el pequete fuente del proyecto, click en New y luego en Other, aparecerá la ventana de nuevo archivo, seleccionamos hibernate y luego seleccionamos HibernateUtil.java y le damos click en siguiente:

En la siguiente ventana escribimos HibernateUtil como nombre de la clase y sakila.util como nombre del paquete y le damos en finalizar:

Ahora crearemos el archivo Reverse Engineering, nos vamos nuevamente al archivo fuente del proyecto, le damos click derecho, New y luego Other, veremos nuevamente la ventana de selección de archivo nuevo, ahí seleccionamos Hibernate Reverse Engineering Wizard en el listado desplegado de hibernate y damos click en siguiente:
En la ventana siguiente escribimos hibernate.reveng en File Name y click en siguiente:
Ahora en esta nueva ventana seleccionamos la tabla Actor de las tablas disponibles y le damos agregar y luego finalizar:
Ahora solo nos falta un archivo de configuración asi que, nuevamente nos vamos al origen del proyecto, le damos click derecho y seleccionamos New y luego seleccionamos Other, nos aparecerá el menú de selección de archivo nuevo, seleccionamos hibernate y luego Hibernate Mapping Files and POJOs
En esta nueva ventana seleccionamos las opciones de manera que quede de la siguiente manera:
Ahora que ya tenemos los archivos de configuración solo nos resta agregar una interfaz grafica esto lo hacemos de la siguiente manera:
Dejamos las configuraciones de la siguiente manera:
Una vez le damos en finalizar ya podemos agregar etiquetas, botones, cajas de texto y también una tabla de manera que se pueda ver de la siguiente forma:
Ahora procederemos a hacer unas consultas en el editor HQL Query, nos vamos a los archivos del proyecto, expandimos el default package, y le damos click derecho a hibernate.cfg.xml y seleccionamos Run HQL Query
En este editor veremos como se hacen las consultas usando hibernate. Y podemos probar el editor de la siguiente manera:
Ahora bien realizaremos un par de consultas:from Actor a where a.firstName like 'PE%'
from Actor a where a.lastName like 'MO%'
Nos mostrara los siguientes resultados:

Ahora solo nos resta agregarle unas cuantas líneas de código:
private static String Busqueda_Basada_En_Nombre="from Actor a where a.firstName like '";
private static String Busqueda_Basada_En_Apellido="from Actor a where a.lastName like '";
private void runBusquedaBasadaEnNombre () {
executeHQLQuery(Busqueda_Basada_En_Nombre + jTextField1.getText() + "%'");
}
private void run BusquedaBasadaEnApellido () {
executeHQLQuery(Busqueda_Basada_En_Apellido+ jTextField2.getText() + "%'");
}
private void executeHQLQuery(String hql) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query q = session.createQuery(hql);
List resultList = q.list();
displayResult(resultList);
session.getTransaction().commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
Nos quedara de la siguiente manera:
Agregamos estas líneas tambiénprivate void displayResult(List resultList) {
Vector tableHeaders = new Vector();
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
private void displayResult(List resultList) {
Vector
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
“ for(Object o : resultList) {
Actor actor = (Actor)o;
Vector
Leer nota completa...
Suscribirse a:
Entradas (Atom)

