jueves, 29 de agosto de 2013

Spring DAO


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


Configuración general de Spring JDBC


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