You are on page 1of 27

UNIVERSIDAD TECNICA DEL NORTE FACULTAD DE INGENIERIA EN CIENCIAS APLICADAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION V ARQUITECTURA CLIENTE-SERVIDOR

En este documento, explicaremos el procedimiento para crear una aplicacin cliente-servidor con un patrn arquitectnico MVC aplicando DAOs y entidades. Primero, presentamos un esquema de la estructura cliente-servidor aplicando el respectivo patrn arquitectnico.

MODELO VISTA CONTROLADOR (Patrn Arquitectnico) Modelo: Lgica de la programacin, conexiones a base de datos. Vista: Lo que el usuario visualiza Controlador: Acciones realizadas por eventos. DAO (Data Access Object) : Permite manipular la informacin de la base de datos

Entidades (Objetos) : Tablas de cada base de datos transformadas en clases dentro de la programacin. Capa de Persistencia (DAO - ENTIDADES). Practica Vamos a realizar la conexin de una aplicacin de registro de notas. El motor de base de datos es MySql. Vamos a seguir los siguientes pasos. 1. Conexin con JDBC 2. Entidades 3. DAO. Bien empezaremos con el diseo de la base de datos notas, que constara con las tablas tab_estudiantes, tab_materias y tab_notas.

Aqu tenemos el Script de creacin de la base de datos.

create database notas;

use notas; /*==============================================================*/ /* Table: TAB_ESTUDIANTES */

/*==============================================================*/ create table TAB_ESTUDIANTES (

ID_ESTUDIANTE CEDULA NOMBRES APELLIDOS DIRECCION TELEFONO

integer not null auto_increment, varchar(10), varchar(40), varchar(40), varchar(40), varchar(40),

primary key (ID_ESTUDIANTE) );

/*==============================================================*/ /* Table: TAB_MATERIAS */

/*==============================================================*/ create table TAB_MATERIAS ( ID_MATERIA integer not null auto_increment, varchar(40),

NOMBRE_MATERIA

primary key (ID_MATERIA) );

/*==============================================================*/ /* Table: TAB_NOTAS */

/*==============================================================*/ create table TAB_NOTAS ( ID_NOTA ID_ESTUDIANTE ID_MATERIA NOTA1 NOTA2 integer not null auto_increment, integer, integer, numeric(8,2), numeric(8,2),

primary key (ID_NOTA) );

alter table TAB_NOTAS add constraint FK_REFERENCE_1 foreign key (ID_ESTUDIANTE) references TAB_ESTUDIANTES (ID_ESTUDIANTE) on delete restrict on update restrict;

alter table TAB_NOTAS add constraint FK_REFERENCE_2 foreign key (ID_MATERIA) references TAB_MATERIAS (ID_MATERIA) on delete restrict on update restrict;

Como vemos en la siguiente imagen la base de datos esta creada.

Bien, seguido de esto empezaremos con la programacin de nuestro sistema en Netbeans. Nuestro primer paso para crear nuestra aplicacin ser la conexin a la base de datos que acabamos de crear.

Empezaremos por crear un nuevo proyecto. Nuestra aplicacin puede necesitar libreras adicionales de tal manera que habilitaremos la opcin de usar una carpeta dedicada para las libreras. Adems de eso deshabilitaremos la opcin crear clase principal y lo terminamos.

Ahora empezaremos a importar nuestro driver para la conexin a la base de datos MySQL para lo cual importaremos el JDBC de MySQL dentro de la carpeta libreras de el proyecto de la siguiente manera.

Damos clic derecho sobre libreras (Library) y seleccionamos la opcin aadir librera (Add Library).

Le damos clic en Importar(Import)

Seleccionamos el driver JDBC de MySQL y le damos clic en importar librera (Import Library) Seguido de esto hacemos clic en aadir librera (Add Library).

Ahora si revisamos nuestro proyecto veremos que la librera ha sido importada

En este momentos empezaremos con la creacin de entidades. Es decir transformar cada tabla de la base de datos en una clase java.

Hacemos clic derecho en paquete de fuente (Source Package) elegimos

la opcin nueva (New) seguido escogemos la opcin Clases Entidades de Base de Datos (Entity Classes From Database). En Conexin de base de datos escojemos la opcin conexin nueva

(New Database Conection) En controlador (Driver) seleccionaremos el driver correspondiente a MySQL

Le damos en Next. Ahora necesitamos configurar nuestra conexin a la base. Por defecto el host debe ser localhost y el puerto que usa MySQL es 3306, si al momento de la instalacin de MySQL no se cambia el puerto debemos dejarlo tal y como esta. El nombre de la base de datos a la que nos vamos a conectar es notas Colocamos la clave de usuario con la que instalaron MySQL Despus de esto hacemos clic en probar conexin (Test Conection)

Si se fijan en la parte izquierda baja de la pantalla nos mostr un mensaje que dice conexin satisfactoria (Connection Succeeded) y nos

gener una url, he resaltado parte de al url porque no es necesaria y si ustedes desean la pueden borrar y le damos en probar conexin. Le damos en Next (Siguiente). En la siguiente pantalla le damos en Next (Siguiente)

Le damos en Terminar (Finish) a la siguiente pantalla.

Ahora nos ha importado nuestras tablas desde la base de datos. Aadiremos todas.

De esta manera deber terminar la ventana. Los colores deben estar de esta manera. Si no estn de esta manera revisen, tienen que ejecutar

todas las instrucciones del script dado en pginas anteriores. Ahora le damos en Next (Siguiente)

En esta ventana haremos lo siguiente, cambiamos los nombres de las clases por un nombre en singular y damos un paquete para las entidades. Debera quedarnos de la manera de la prxima figura.

Seguido de esto damos en Next (Siguiente) y obtendremos la figura siguiente.

En esta pantalla debemos elegir el tipo de coleccin en la que se almacenaran los datos cuando hagamos algn tipo de sentencia. Esto en realidad depende de cada usuario, pero yo les recomendara el tipo List. Luego de escoger el tipo le damos clic en Terminar (Finish).

Como vemos se han creado nuestras clases partiendo de cada una de las tablas en nuestra base de datos. Abriremos una para revisar su contenidos rpidamente.

Como podemos ver tenemos las respectivas importaciones de los paquetes.

Adems de eso tenemos un signo @ anteponindose a algunas palabras. Lo que quiere decir esto es sobrescrito, pero en si esto es solo informacin que nos proporcionan los asistentes que utilizamos anteriormente. Despus de eso tenemos la clase, sus variables precedidas por su respectiva informacin y al final lo que es get y set de las variables. Muy bien, hasta el momento tenemos lo que es nuestra base de datos y nuestra capa modelo con un paquete de entidades. Pero no podemos modificar los datos aun, as que necesitamos crear nuestro JPA para poder hacerlo de la manera adecuada segn los estndares. Para esto hacemos esto, en el proyecto, en paquete de fuentes damos clic derecho, escogemos la opcin nuevo, Controlador JPA de clases de entidades (JPA Controller Classes from Entity Class).

Aadiremos todas las entidades que tenemos y damos clic en Siguiente (Next). Ahora cambiaremos el nombre del paquete y damos clic en Terminar (Finish).

Se generaran unos paquetes y con esto terminamos lo que es la importacin de tablas y ahora podremos acceder, modificar, insertar datos en nuestra base de datos respetando los estndares establecidos.

Para verificar que todo est bien hecho, vamos a hacer una pequea prueba. As que crearemos una clase prueba dentro de un paquete prueba.

En esta clase, lo primero que tenemos que hacer es generar nuestro main.

Bien, despus de esto vamos a hacer clic derecho, escogemos la opcin insertar cdigo, seleccionaremos la opcin usar administrador de entidades ( Use Entity Manager)

Luego de hacer esto, copiaremos la primera lnea del cdigo del mtodo que se nos cre lo pegaremos dentro de nuestro main y borraremos todo el cdigo sobrante.

Ahora crearemos nuestro dao para poder manipular la informacin en la base de datos.

Ahora crearemos una nueva materia y la insertaremos en nuestra base de datos

Ejecutamos y verificamos resultados realizando un select en la tabla materias en nuestro editor sql.

Ahora hagamos una consulta desde nuestra aplicacin.

Si deseamos eliminar algn dato de nuestro sistema utilizaremos las siguientes instrucciones el nmero que ven como parmetro es el id de la materia.

Luego de esto se debe confirmar la accin en nuestro editor sql. Para modificar un dato de nuestra base de datos lo que haremos es utilizar la siguiente instruccin

Con esta instruccin lo que hacemos es buscar la posicin en la que se encuentra la materia en este caso y reemplazarla con la nueva materia escrita utilizando la funcin set y despus usando el dao.edit para modificarla.

Ahora vemos como se ha modificado en nuestra base de datos Ahora lo siguiente que haremos es mostrar los datos que tenemos almacenado en nuestras tablas

Creamos una lista de tipo estudiante y notas donde se almacenan todos

los atributos que contiene las tablas de estudiantes y notas. Y mostramos en pantalla los datos que contiene dicha informacin. El siguiente cdigo nos mostrara los datos que tenemos en la tabla materias

Esta es otra forma de mostrar los resultados pero antes de mostrar los datos de esta manera tenamos que editar la clase en la entidad estudiante el toString para que imprima el nombre y apellido fcilmente.

As quedaran los datos mostrados en pantalla con el nombre y apellido, la materia que cogen y las notas de cada materia.

You might also like