Conexión a BD desde Java
Duración: cinco horas y media (17:00 P.M. a 22:30 P.M.)
Descripción:
Dado que ya se tienen los SP listos y ya han pasado por varias pruebas, se procedió a realizar la conexión entre la base de datos y la capa lógica. Para este proyecto se está utilizando Java como lenguaje de capa lógica.
Se comenzó con un proyecto tipo Maven para poder agregar una dependencia desde el repositorio de dicha plataforma para poder conectar contra la base de datos. Una vez que se tuvo el área de trabajo, se procedió a comenzar con las clases y sus respectivos métodos. Previo a esta etapa de trabajo se había realizado una conexión desde Java para poder acceder a la aplicación y hacer el listado de los empleados. En vista de esto, se utilizó parte de ese código para establecer la conexión.
Esta conexión se realizó en una clase general llamada Repository. De esta heredan las demás clases que se encarga de la lectura de o la escritura en la base de datos. Para definir la cantidad de clases tipo repositorio que se iban a necesitar, se estableció los tipos de objetos con los que trabaja el código: empleados y movimientos. También se tiene el acceso general a la base de datos. Por tanto, se definen tres tipos de repositorio diferentes.
- El repositorio de acceso general a la base de datos está relacionado con el login, logout y la consulta del significado de errores producidos por los SP.
- El repositorio de empleados se relaciona con el CRUD. Permite la consulta de información, listado de empleados (con y sin filtros), ingreso de un nuevo empleado, actualización de información existente y borrado lógico de un empleado.
- El repositorio de movimientos se relaciona con las dos operaciones básicas: lectura (consulta de movimientos) y escritura (ingreso de un nuevo movimiento).
Para poder trabajar los últimos dos repositorios se crearon dos objetos distintos: Empleado y Movimiento. En estos se guardan los atributos básicos de cada uno que devuelve la base de datos cuando se solicitan las listas.
Además, se creó una clase para guardar los resultados. Esto se da porque los SP pueden devolver más de un resultado y es necesario registrarlos todos para entender cómo está funcionando. De ahí la necesidad de un objeto que pueda tener esta información. El objeto en sí se conforma de dos atributos: un arreglo de enteros y un arreglo de objetos. En el primero se almacenan los códigos de resultado que producen los SP. Es importante recordar que un procedimiento puede llamar a varios más, por tanto, se puede llegar a generar más de un código por llamada. El segundo arreglo se utiliza cuando los SP devuelven listas de información (como en el listado de empleados). Nótese que ningún procedimiento retorna más de un conjunto de datos de este tipo. Por tanto, no existe la necesidad de tener un arreglo de arreglos. Solo se necesita uno para almacenar toda la información.
Nota: finalizada esta etapa se tienen todos los archivos de Java para hacer conexión entre capa lógica y base de datos. Aun así, existe la posibilidad de que estos cambien un poco para incluir el cambio que el código necesita para obtener el IP desde donde el usuario corre la aplicación (este dato se ocupa en la base).
No se tuvieron problemas en esta etapa del desarrollo del proyecto.