JDBC - Présentation

Qu'est-ce que JDBC?

JDBC signifie Java Dàbase Connectivity, qui est une API Java standard pour la connectivité indépendante de la base de données entre le langage de programmation Java et un large éventail de bases de données.

La bibliothèque JDBC comprend des API pour chacune des tâches mentionnées ci-dessous qui sont généralement associées à l'utilisation de la base de données.

  • Établir une connexion à une base de données.

  • Création d'instructions SQL ou MySQL.

  • Exécution de requêtes SQL ou MySQL dans la base de données.

  • Affichage et modification des enregistrements résultants.

Fondamentalement, JDBC est une spécification qui fournit un ensemble complet d'interfaces permettant un accès portable à une base de données sous-jacente. Java peut être utilisé pour écrire différents types d'exécutables, tels que -

  • Applications Java

  • Applets Java

  • Servlets Java

  • Java ServerPages (JSP)

  • Enterprise JavaBeans (EJB).

Tous ces différents exécutables peuvent utiliser un pilote JDBC pour accéder à une base de données et tirer parti des données stockées.

JDBC offre les mêmes fonctionnalités que ODBC, permettant aux programmes Java de contenir du code indépendant de la base de données.

Prérequis

Avant d'aller plus loin, vous devez avoir une bonne compréhension des deux sujets suivants -

Architecture JDBC

L'API JDBC prend en charge les modèles de traitement à deux et trois niveaux pour l'accès à la base de données, mais en général, l'architecture JDBC se compose de deux couches -

  • JDBC API: Cela fournit la connexion entre l'application et le gestionnaire JDBC.

  • JDBC Driver API: Cela prend en charge la connexion JDBC Manager-to-Driver.

L'API JDBC utilise un gestionnaire de pilotes et des pilotes spécifiques à la base de données pour fournir une connectivité transparente aux bases de données hétérogènes.

Le gestionnaire de pilotes JDBC garantit que le pilote approprié est utilisé pour accéder à chaque source de données. Le gestionnaire de pilotes est capable de prendre en charge plusieurs pilotes simultanés connectés à plusieurs bases de données hétérogènes.

Voici le schéma architectural, qui montre l'emplacement du gestionnaire de pilotes par rapport aux pilotes JDBC et à l'application Java -

Composants JDBC communs

L'API JDBC fournit les interfaces et classes suivantes -

  • DriverManager:Cette classe gère une liste de pilotes de base de données. Correspond aux demandes de connexion de l'application Java avec le pilote de base de données approprié à l'aide du sous-protocole de communication. Le premier pilote qui reconnaît un certain sous-protocole sous JDBC sera utilisé pour établir une connexion à la base de données.

  • Driver:Cette interface gère les communications avec le serveur de base de données. Vous interagirez très rarement directement avec les objets Driver. À la place, vous utilisez des objets DriverManager, qui gèrent les objets de ce type. Il résume également les détails associés à l'utilisation des objets Pilote.

  • Connection:Cette interface avec toutes les méthodes pour contacter une base de données. L'objet de connexion représente le contexte de communication, c'est-à-dire que toutes les communications avec la base de données se font uniquement via l'objet de connexion.

  • Statement:Vous utilisez des objets créés à partir de cette interface pour soumettre les instructions SQL à la base de données. Certaines interfaces dérivées acceptent des paramètres en plus d'exécuter des procédures stockées.

  • ResultSet:Ces objets contiennent des données extraites d'une base de données après avoir exécuté une requête SQL à l'aide d'objets Statement. Il agit comme un itérateur pour vous permettre de parcourir ses données.

  • SQLException: Cette classe gère toutes les erreurs qui se produisent dans une application de base de données.

Les packages JDBC 4.0

Java.sql et javax.sql sont les principaux packages de JDBC 4.0. Il s'agit de la dernière version de JDBC au moment de la rédaction de ce didacticiel. Il propose les principales classes d'interaction avec vos sources de données.

Les nouvelles fonctionnalités de ces packages incluent des modifications dans les domaines suivants:

  • Chargement automatique du pilote de base de données.

  • Améliorations de la gestion des exceptions.

  • Fonctionnalité BLOB / CLOB améliorée.

  • Améliorations de l'interface de connexion et de relevé.

  • Prise en charge des jeux de caractères nationaux.

  • Accès SQL ROWID.

  • Prise en charge du type de données XML SQL 2003.

  • Annotations.