Spring JDBC - Présentation
Tout en travaillant avec une base de données utilisant un ancien JDBC, il devient fastidieux d'écrire du code inutile pour gérer les exceptions, ouvrir et fermer les connexions de base de données, etc. Cependant, Spring JDBC Framework prend en charge tous les détails de bas niveau à partir de l'ouverture de la connexion, de la préparation et exécution de l'instruction SQL, traitement des exceptions, gestion des transactions et enfin fermeture de la connexion.
Ce que vous avez à faire est simplement de définir les paramètres de connexion, de spécifier l'instruction SQL à exécuter et d'effectuer le travail requis pour chaque itération tout en récupérant les données de la base de données.
Spring JDBC fournit plusieurs approches et différentes classes en conséquence pour s'interfacer avec la base de données. Dans ce didacticiel, nous adopterons l'approche classique et la plus populaire qui utilise la classe JDBC Template du framework. Il s'agit de la classe de structure centrale qui gère toutes les communications de la base de données et la gestion des exceptions.
Classe de modèle JDBC
La classe JDBC Template exécute des requêtes SQL, met à jour les instructions et les appels de procédure stockée, effectue une itération sur les ResultSets et l'extraction des valeurs de paramètres renvoyées. Il détecte également les exceptions JDBC et les traduit dans la hiérarchie d'exceptions générique, plus informative, définie dans le package org.springframework.dao.
Les instances de la classe JDBC Template sont threadsafe une fois configurées. Ainsi, vous pouvez configurer une seule instance d'un modèle JDBC, puis injecter en toute sécurité cette référence partagée dans plusieurs DAO.
Une pratique courante lors de l'utilisation de la classe JDBC Template consiste à configurer un DataSource dans votre fichier de configuration Spring, puis à injecter les dépendances de ce bean DataSource partagé dans vos classes DAO. Le modèle JDBC est créé dans le setter pour la source de données.
Objet d'accès aux données (DAO)
DAO signifie Data Access Objectqui est couramment utilisé pour l'interaction avec les bases de données. Les DAO existent pour fournir un moyen de lire et d'écrire des données dans la base de données et ils doivent exposer cette fonctionnalité via une interface par laquelle le reste de l'application y accède.
La prise en charge de Data Access Object (DAO) dans Spring facilite le travail cohérent avec des technologies d'accès aux données telles que JDBC, Hibernate, JPA ou JDO.