Spring DAO??
Bueno pues en esta entrada vamos a ver sobre Spring DAO, que son clases de Spring cuya implementación nos ayuda a la conexión de base de datos.
pero antes de que empecemos a codificar vamos a platicar un poco de que es Spring DAO y pues el porque elegirlo en lugar de conexiones directas con JDBC.
Uno de los objetivos de Spring es la
simplificación de tareas al crear aplicaciones Java. La mayoría de los sistemas
empresariales persisten su información en Bases de Datos.
Por ello Spring, en busca de esta
simplificación agregó el paquete Spring JDBC, el cual aplica el concepto de Template
(plantilla) para simplificar procesos como Abrir y Cerrar conexiones de Bases
de Datos, mejor manejo de Excepciones, entre muchas características más.
Si ya
tienes cierta experiencia utilizando JDBC,
habrás notado que es complejo realizar una consulta a la
base de datos, por muy básica que esta sea,
además muchos de los pasos a seguir son
repetitivos e innecesarios desde el punto de vista
en nuestro código Java.
Además
de la simplificación del manejo de JDBC, Spring ofrece una
integración transparente con frameworks
de persistencia.
Sin
embargo, cabe mencionar que Spring JDBC no es un framework
ORM (Object
Relational Mapping)
más, sino su intención es únicamente simplificar el
uso del API JDBC en nuestras aplicaciones Java.
Spring
JDBC promueve el uso de Interfaces con el objetivo de
crear sistemas con un bajo acoplamiento y una alta cohesión.
las
clases de servicio NO necesitan saber qué tecnología se está
utilizando para conectarse a la base de datos, es decir, podríamos
utilizar JDBC
puro, JPA, Hibernate, iBatis,
entre otras tecnologías, y la clase de servicio de
manera agnóstica utiliza estas interfaces sin necesidad de saber
qué tecnología
se está empleado para leer y escribir a la base de datos.
Esta
configuración permite hacer pruebas unitarias más fácilmente, ya que en
cualquier momento podemos cambiar la implementación
de la
clase DAO (Data Access Object).
El patrón
de diseño Template se
utiliza con el objetivo de encargarse de las tareas
tediosas o repetitivas, y dejar lo
realmente importante a nosotros.
Las
tareas que este realiza son:
•
Abrir la conexión a base de datos (open connection)
•
Comenzar una transacción (beggin transaction)
•
Terminar la transacción (haciendo commit
o rollback)
•
Cerrar la conexión de base de datos
•
Convertir y Manejar las excepciones de tipo SQLException
Por
otro lado, el único trabajo del que nos
debemos encargar es:
•
Preparar nuestra sentencia SQL a ser ejecutada
•
Recuperar los datos y retornarlos
Plantillas de acceso
a datos
Estaremos aclarando más sobre los patrones de diseño en los post de "patrones de diseño", por ahora esta es la teoría de spring DAO.
No hay comentarios.:
Publicar un comentario