Ingenieria

Páginas: 13 (3232 palabras) Publicado: 17 de febrero de 2013
Se entiende por persistencia (en programación) como la acción de preservar la información de un objeto de forma permanente (guardar), pero a su vez también se refiere a poder recuperar la información del mismo (leer) para que pueda ser nuevamente utilizada.
En el caso de persistencia de objetos la información que persiste en la mayoría de los casos son los valores que contienen los atributos enese momento, no necesariamente la funcionalidad que proveen sus métodos.
Capitulo 5. Implementando Persistencia en Base de Datos
Esta es la Parte 5 del tutorial paso a paso sobre sobre como desarrollar una aplicacion web desde cero usando Spring Framework. En la Parte 1 hemos configurado el entorno y puesto en marcha una aplicacion basica. En la Parte 2 hemos mejorado la aplicacion que habiamosconstruido hasta entonces. En la Parte 3 hemos añadido toda la logica de negocio y los test de unidad, y en la Parte 4 desarrollado la interface web. Ahora es el momento de introducir persistencia en base de datos. En las partes anteriores hemos visto como cargar algunos objetos de negocio definiendo beans en un archivo de configuracion. Es obvio que esta solucion nunca va a funcionar en el mundoreal – cada vez que reiniciemos el servidor obtendremos de nuevo los precios originales. Necesitamos añadir codigo para persistir esos cambios en una base de datos.
5.1. Crear un script de inicio de base de datos
Antes de que podamos comenzar a desarrollar el codigo de persistencia, necesitamos una base de datos. Hemos planeado usar HSQL, la cual es una buena base de datos escrita en Java. Estabase de datos es distribuida con Spring por lo que podemos copiar su archivo jar al directorio lib de la aplicacion web. Copia el archivohsqldb.jar del directorio 'spring-framework-2.5/lib/hsqldb' al directorio 'springapp/war/WEB-INF/lib'. Vamos a usar HSQL en modo standalone. Esto significa que tendremos que arrancar la base de datos de forma serparada en lugar de confiar en una base de datosintegrada con la propia aplicacion. De esta manera sera mas sencillo ver los cambios hechos en la base de datos cuando ejecutemos la aplicacion.
Necesitamos un script o un archivo de lotes para iniciar la base de datos. Crea un directorio 'db' dentro del directorio principal 'springapp'. Este nuevo directorio contendra los archivos de la base de datos. Ahora, añadamos un script de inicio:
DesdeLinux/Mac OS X añadimos a:
'springapp/db/server.sh':
-------------------------------------------------
java -classpath ../war/WEB-INF/lib/hsqldb.jar org.hsqldb.Server -database test
No olvides cambiar los permisos de ejecucion con el comando 'chmod +x server.sh'.
Desde Windows añadimos a:
'springapp/db/server.bat':
-------------------------------------------------java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server -database test
Ahora ya puedes abrir una ventana de comandos, ir al directorio 'springapp/db' y arrancar la base de datos ejecutando el script de arranque correspondiente a tu sistema operativo.
5.2. Crear una tabla y scripts de prueba de datos
Primero, vamos a ver las sentencias SQL necesarias para crear la tabla. Crea elarchivo 'create_products.sql' en el directorio db.
'springapp/db/create_products.sql' con el siguiente contenido:
-------------------------------------------------
CREATE TABLE products (
-------------------------------------------------
id INTEGER NOT NULL PRIMARY KEY,
-------------------------------------------------
descriptionvarchar(255),
-------------------------------------------------
price decimal(15,2)
-------------------------------------------------
);
-------------------------------------------------
CREATE INDEX products_description ON products(description);
Ahora necesitamos añadir nuestros datos de prueba. Crea el archivo 'load_data.sql' en el directorio db con...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingenieria
  • Ingenieria
  • Ingenieria
  • Ingeniería
  • Ingenieria
  • Ingenieria
  • La ingenieria
  • Ingenieria

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS