Aplicacion java con base de datos embebida

Solo disponible en BuenasTareas
  • Páginas : 7 (1708 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de agosto de 2010
Leer documento completo
Vista previa del texto
Aplicación Java con base de datos embebida (Java DB) y manejo de persistencia
Por: James Lotero Bedoya, Universidad Nacional de Colombia, jloterob21@hotmail.com Noviembre 28 de 2009
El objetivo de este tutorial es iniciar y orientar al lector en el uso de bases de datos embebidas, mediante el desarrollo de una pequeña aplicación que manejara un RDBMS (Relational Data Base Management System)embebido (Java DB, base de datos Apache Derby con licencia de la fundación Apache) para facilitar su portabilidad. A continuación algunos enlaces de interés que ayudaran a ambientar mejor el tema: http://developers.sun.com/javadb/features/index.jsp http://netbeans.org/kb/55/derby-demo.html http://www.albertodevega.es/index.php?blog=1&title=bases-de-datosembebidas&more=1&c=1&tb=1&pb=1http://es.wikipedia.org/wiki/Apache_Derby La idea concreta de la aplicación es ubicarla dentro de una carpeta, junto con la base de datos y el RDBMS (Java DB). El servicio Java DB será arrancado y detenido por la misma aplicación, recordemos que Java DB está escrito totalmente en Java y es interpretado por la Java Virtual Machine (JVM). Por tal razón la aplicación será totalmente portable y podrá ejecutarse desdecualquier path y en un computador que tenga la JVM.

Precondiciones
La aplicación será desarrollada en netbeans 6.5 (a partir de la versión 6.0 tiene integrado el Java DB ó también está integrado en el GlassFish V2).

Descripción de la aplicación
Supongamos el siguiente diagrama entidad – relación el cual implementaremos en Java DB:

Nuestra aplicación dará soporte a algunas operacionesCRUD en dicha base de datos, utilizando persistencia de objetos.

Creación de la base de datos
Abrimos Netbeans, y presionamos Ctrl+5, para dirigirnos a la pestaña de servicios, donde crearemos la base de datos y las respectivas conexiones.  Iniciamos el servicio Java DB (opcional): Seleccionamos Databases/Java DB-> Start Server.



Creamos la base de datos embebida: SeleccionamosDatabases/Drivers/JavaDB(Embedded) >Connect Using.

En la pantalla desplegada entramos los respectivos datos para crear la base.

Hacemos click en “ok”; en la siguiente pantalla seleccionamos el schema APP y aceptamos nuevamente. Netbeans aloja por defecto la base de datos en su lugar de trabajo (también se puede direccionar mediante path en el campo Database), para mi caso en particular quedo en“C:\Users\James\.netbeans\6.5\derby\Base_Embebida”. Además, crea la conexión a la base de datos.

Ya estamos listos para crear nuestras tablas de acuerdo al diagrama entidad - relación propuesto. Para esto, damos click derecho sobre la conexión y seleccionamos ->Execute Command…., y ejecutamos el siguiente Query:
CREATE TABLE APP.Tipo ( idTipo INT NOT NULL , Descripcion VARCHAR(45) NOT NULL ,PRIMARY KEY (idTipo) );

CREATE TABLE APP.Producto ( Ref_Producto VARCHAR(30) NOT NULL , Descripcion VARCHAR(200) NOT NULL , Precio Integer NOT NULL , Tipo_idTipo INT , PRIMARY KEY (Ref_Producto) , FOREIGN KEY (Tipo_idTipo ) REFERENCES APP.Tipo (idTipo ));

Construcción de la Aplicación
Creamos un nuevo proyecto java Application (nombre “Gestion_Productos”) sin Main Class, esto se logradeseleccionando la casilla de crear la clase principal. Como el objetivo fundamental del documento es conocer la implementación de la Java Db embebida, no enfatizaremos en arquitectura ni patrones de diseño, esto se deja al lector. Creamos tres paquetes al interior del proyecto: Modelo, DAO y Vista.

Damos click derecho en Modelo y seleccionamos New->Other…

En este diálogo seleccionamos la categoríapersistence y el tipo de archivo Entity Classes From Database. En el siguiente diálogo (“Next”) seleccionamos la conexión de nuestra base de datos y seleccionamos todas las tablas.

Pasamos al siguiente dialogo y seleccionamos “Create Persistence Unit”, para hacer el mapeo de las clases entidad.

Seleccionamos una librería de persistencia (En nuestro caso toplink), dejamos el nombre de...
tracking img