Spring JDBC - Descripción general
Mientras se trabaja con una base de datos usando JDBC antiguo, se vuelve engorroso escribir código innecesario para manejar excepciones, abrir y cerrar conexiones de bases de datos, etc. Sin embargo, Spring JDBC Framework se encarga de todos los detalles de bajo nivel comenzando por abrir la conexión, preparar y ejecutar la instrucción SQL, procesar excepciones, manejar transacciones y finalmente cerrar la conexión.
Lo que tiene que hacer es simplemente definir los parámetros de conexión y especificar la declaración SQL que se ejecutará y hacer el trabajo requerido para cada iteración mientras obtiene datos de la base de datos.
Spring JDBC proporciona varios enfoques y las correspondientes clases diferentes para interactuar con la base de datos. En este tutorial, tomaremos el enfoque clásico y más popular que hace uso de la clase JDBC Template del marco. Esta es la clase de marco central que administra toda la comunicación de la base de datos y el manejo de excepciones.
Clase de plantilla JDBC
La clase JDBC Template ejecuta consultas SQL, actualiza declaraciones y llamadas a procedimientos almacenados, realiza iteraciones sobre ResultSets y extrae valores de parámetros devueltos. También detecta las excepciones de JDBC y las traduce a la jerarquía de excepciones genérica, más informativa, definida en el paquete org.springframework.dao.
Las instancias de la clase Plantilla JDBC son seguras para subprocesos una vez configuradas. Por lo tanto, puede configurar una sola instancia de una plantilla JDBC y luego inyectar de manera segura esta referencia compartida en múltiples DAO.
Una práctica común cuando se usa la clase JDBC Template es configurar un DataSource en su archivo de configuración de Spring y luego inyectar la dependencia ese bean de DataSource compartido en sus clases DAO. La plantilla JDBC se crea en el establecedor para el origen de datos.
Objeto de acceso a datos (DAO)
DAO significa Data Access Objectque se usa comúnmente para la interacción con la base de datos. Los DAO existen para proporcionar un medio para leer y escribir datos en la base de datos y deben exponer esta funcionalidad a través de una interfaz mediante la cual el resto de la aplicación accederá a ellos.
La compatibilidad con objetos de acceso a datos (DAO) en Spring facilita el trabajo con tecnologías de acceso a datos como JDBC, Hibernate, JPA o JDO de manera coherente.