java jdbc tutorial what is jdbc
En commençant par les bases, ce didacticiel JDBC explique les composants, l'architecture et les types de pilotes dans Java Database Connectivity (JDBC):
Ce tutoriel explique ce qu'est JDBC, ses versions publiées jusqu'à présent, quels sont les pré-requis nécessaires avant de continuer avec JDBC, les types de pilotes, etc. A la fin de ce tutoriel, vous connaîtrez les bases de Java Database Connectivity ou JDBC et où pouvons-nous l'utiliser.
Commençons ce didacticiel avec les bases de JDBC.
Ce que vous apprendrez:
Liste des didacticiels Java JDBC
Tutoriel n ° 1: Qu'est-ce que JDBC (Java Database Connectivity) (Ce tutoriel)
Tutoriel n ° 2: Tutoriel de connexion Java JDBC avec exemple de programmation
Tutoriel n ° 3: JDBC DriverManager, JDBC PreparedStatement et Statement
Tutoriel n ° 4: JDBC ResultSet: Comment utiliser Java ResultSet pour récupérer des données
Tutoriel n ° 5: Gestion des transactions Java JDBC avec exemple
Tutoriel n ° 6: Gestion des exceptions JDBC - Comment gérer les exceptions SQL
Tutoriel n ° 7: Didacticiel sur le traitement par lots et les procédures stockées JDBC
Tutoriel n ° 8: Top 25+ questions et réponses d'entrevue JDBC
Qu'est-ce que JDBC
Dans la plupart des applications Java, il est toujours nécessaire d'interagir avec les bases de données pour récupérer, manipuler et traiter les données. À cette fin, Java JDBC a été introduit.
JDBC est la forme courte couramment utilisée pour la connectivité de base de données Java. En utilisant JDBC, nous pouvons interagir avec différents types de bases de données relationnelles telles qu'Oracle, MySQL, MS Access, etc.
Avant JDBC, l'API ODBC a été introduite pour se connecter et effectuer des opérations avec la base de données. ODBC utilise un pilote ODBC qui dépend de la plate-forme car il a été écrit en langage de programmation C. L'API JDBC est écrite en langage Java, est indépendante de la plate-forme et rend elle-même indépendante de la plate-forme Java.
Le diagramme ci-dessous montre le flux de base de JDBC:
Versions de JDBC
Au départ, Sun Microsystems avait publié JDBC dans JDK 1.1 le 19 février 1997. Après cela, il a fait partie de la plate-forme Java.
Le tableau suivant contient les versions et implémentations de JDBC:
Version JDBC | Implémentation JDK | An |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Prérequis
Avant de poursuivre le didacticiel JDBC, vous devez avoir une bonne connaissance de Java afin de pouvoir utiliser JDBC dans les programmes Java.
=> Lecture recommandée: Tutoriels Java
Les conditions préalables à l'implémentation de JDBC dans les applications Java sont les suivantes:
1. Java doit être installé sur le système sur lequel vous souhaitez créer l'application Java et utiliser JDBC.
Référez-vous à ceci lien pour l'installation de Java.
deux. Vous devez disposer des fichiers jar du pilote JDBC appropriés pour vous connecter au SGBD. Chaque base de données possède différents fichiers jar de pilote JDBC.
Vous pouvez télécharger ces fichiers pour la base de données spécifique en utilisant les liens du tableau suivant:
Base de données avec lien de téléchargement | Nom du fournisseur de pilote JDBC | Nom de fichier JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Oracle | Oracle Corporation | Oracleojdbc8.jar |
serveur SQL | Microsoft Corporation | serveur SQLsqljdbc41.jar, sqljdbc42.jar |
SQL Postgre | Groupe de développement mondial PostgreSQL | SQL Postgrepostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Types de pilotes dans JDBC
Voyons maintenant les types de pilotes dans JDBC pour vous aider à choisir celui qui convient à votre programme.
Tous les SGBDR (système de gestion de base de données relationnelle) ont besoin d'un pilote s'ils doivent être accessibles de l'extérieur de leur système. Ainsi, le pilote JDBC est requis pour exécuter des requêtes SQL et obtenir le résultat de la base de données.
Il existe 4 types différents de pilotes disponibles dans JDBC. Ils sont classés en fonction de la technique utilisée pour accéder à une base de données.
Ils sont les suivants:
- Type I: JDBC - Pont ODBC
- Type II: APT natif - Pilote en partie Java
- Type III: Protocole réseau - Pilote entièrement Java
- Type IV: Pilote léger - Pilote entièrement Java
Type I: JDBC - Pont ODBC
Dans ce type de pilote, JDBC - ODBC Bridge agit comme une interface entre le client et le serveur DB. Lorsqu'un utilisateur utilise une application Java pour envoyer des demandes à la base de données à l'aide de JDBC - ODBC Bridge, il convertit d'abord l'API JDBC en API ODBC, puis l'envoie à la base de données. Lorsque le résultat est reçu de DB, il est envoyé à l'API ODBC, puis à l'API JDBC.
Ce pilote dépend de la plate-forme car il utilise ODBC qui dépend de la bibliothèque native du système d'exploitation. Dans ce type, le pilote JDBC - ODBC doit être installé dans chaque système client et la base de données doit prendre en charge le pilote ODBC.
Lorsqu'il ne s'agit pas de l'installation sur la machine cliente, nous pouvons utiliser ce pilote. Il est facile à utiliser mais il donne de faibles performances en raison de la conversion des appels de méthode JDBC en appels de méthode ODBC.
Remarque: il est disponible dans JDK 1.2
Java 8 ne prend pas en charge ce type de pilote. Oracle recommande à l'utilisateur d'utiliser les pilotes JDBC fournis par leurs fournisseurs de bases de données.
Figure: Type I: JDBC - Pilote de pont ODBC
Type II: API native - Pilote partiellement Java
Il est similaire au pilote de type I. Ici, la partie ODBC est remplacée par du code natif dans le pilote de type II. Cette partie de code natif est destinée à un produit de base de données spécifique. Il utilise les bibliothèques du côté client de la base de données. Ce pilote convertit les appels de méthode JDBC en appels natifs de l'API native de la base de données.
Lorsque la base de données reçoit les requêtes de l'utilisateur, les requêtes sont traitées et renvoyées avec les résultats au format natif qui doivent être convertis au format JDBC et transmis à l'application Java.
Il a été instantanément adopté par les fournisseurs de bases de données car sa mise en œuvre était rapide et peu coûteuse. Il est également au format natif de la base de données.
Ce type de pilote offre une réponse et des performances plus rapides que le pilote de type I.
Figure: Type II: APT natif - Pilote partiellement Java
Type III: protocole réseau
Le pilote de type III est entièrement écrit en Java. C'est comme une approche à 3 niveaux pour accéder à la base de données. Il envoie les appels de méthode JDBC à un serveur intermédiaire. Au nom du JDBC, le serveur intermédiaire communique avec la base de données. Le serveur d'application (intermédiaire ou intermédiaire) convertit les appels JDBC directement ou indirectement en protocole de base de données spécifique au fournisseur.
Cette approche n’augmente pas l’efficacité de l’architecture et est également coûteuse, car la plupart des fournisseurs de bases de données ne préfèrent pas ce pilote. Étant donné que le serveur d'applications est utilisé, vous devez avoir une bonne connaissance du serveur d'applications pour utiliser cette approche efficacement.
Figure: Type III: Protocole réseau - Pilote entièrement Java
Type IV: pilote mince
Le pilote de type IV est directement implémenté et convertit les appels JDBC directement en protocole de base de données spécifique au fournisseur. Aujourd'hui, la plupart des pilotes JDBC sont des pilotes de type IV. Il est entièrement écrit en Java et est donc indépendant de la plate-forme. Il est installé dans la JVM (Java Virtual Machine) du client, vous n’avez donc pas à installer de logiciel côté client ou côté serveur. Cette architecture de pilote a toute la logique pour communiquer directement avec la base de données dans un seul pilote.
Il offre de meilleures performances que les autres types de pilotes. Cela permet un déploiement facile. De nos jours, ce type de pilote est développé par le fournisseur de base de données lui-même afin que les programmeurs puissent l'utiliser directement sans dépendre d'autres sources.
Figure: Type IV: Thin Driver - Pilote entièrement Java
Applications de JDBC
JDBC peut être utilisé dans les applications Java, les applets, les servlets ou tout autre programme Java où vous souhaitez vous connecter à DB.
Par exemple, Applications autonomes, sites Web, applications bancaires, etc.,
Architecture et composants de JDBC
Architecture JDBC: Il prend en charge deux types de modèles de traitement pour accéder à la base de données.
Ceux-ci sont:
- Architecture à deux niveaux
- Architecture à trois niveaux
#1) Architecture à deux niveaux:
Il aide l'application Java à se connecter directement à la base de données. Il a besoin d'un pilote JDBC pour la communication avec une base de données particulière. L'utilisateur envoie les demandes à DB et reçoit la réponse directement sans aucun médiateur à l'exception du pilote JDBC. La base de données, que ce soit sur la même machine ou sur une machine distante, est connectée via un réseau. Il peut être appelé comme une architecture client-serveur.
# 2) Architecture à trois niveaux:
C'est le contraire de l'architecture à deux niveaux. Il n'y a pas de communication directe entre l'utilisateur et la base de données. L'utilisateur envoie la demande au niveau intermédiaire (serveur d'applications) à partir duquel la demande est à nouveau envoyée à la base de données. Ensuite, la base de données traite la demande et envoie le résultat au niveau intermédiaire à partir duquel l'utilisateur reçoit le résultat / la réponse.
Il simplifie le déploiement et la gestion. Les directeurs des systèmes d'information de gestion (SIG) utilisent cette architecture car elle simplifie le contrôle d'accès et les mises à jour des données d'entreprise.
Architecture à trois niveaux
Composants de JDBC
Il y a 4 composants principaux disponibles dans JDBC. Elles sont:
- API JDBC
- Gestionnaire de pilotes JDBC
- Suite de tests JDBC
- JDBC - Pont ODBC
# 1) API JDBC: Il permet d'accéder aux bases de données relationnelles à partir de n'importe quel programme Java. L'API JDBC dispose d'un ensemble de classes et d'interfaces écrites en Java qui fournit un outil / API standard pour les développeurs. À l'aide de l'API JDBC, vous pouvez créer et exécuter des requêtes SQL, recevoir le résultat et apporter des modifications aux données et enregistrer les résultats dans la base de données.
Il peut interagir avec plusieurs bases de données comme Oracle, MySQL, MS Access à partir d'un seul programme Java. Avec l'API JDBC, il n'est pas nécessaire d'écrire un programme pour accéder à Oracle DB, un autre programme pour accéder à MySQL, un autre programme pour accéder à MS Access, etc.
L'API JDBC fait partie de Java Platform qui comprend à la fois Java Standard Edition (Java SE) et Java Enterprise Edition (Java EE).
L'API JDBC 4.0 comprend 2 packages.
- Java.sql
- Javax.sql
Les deux packages sont disponibles en Java SE et Java EE.
# 2) Gestionnaire de pilotes JDBC: La couche de gestion traditionnelle de JDBC est Driver Manager et agit comme une interface entre l'utilisateur et les pilotes. Il conserve les détails de suivi des pilotes disponibles et établit une connexion entre la base de données et le pilote approprié. Il définit les objets qui peuvent connecter l'application Java au pilote JDBC. C'est donc la colonne vertébrale de l'API JDBC.
Nous discuterons du gestionnaire de pilotes dans le prochain tutoriel.
# 3) Suite de tests JDBC: Cela aide à savoir si les pilotes JDBC exécuteront le programme ou non. Il fournit la confiance et la conformité que le programme fonctionnera par les pilotes JDBC.
# 4) Pont JDBC-ODBC: Cela utilise des pilotes ODBC comme pilotes JDBC. Il est similaire au pilote TYPE I qui est déjà traité dans la section types de pilotes de ce didacticiel.
Points clés à noter:
- JDBC est utilisé pour interagir avec la base de données à partir de n'importe quel programme Java tel qu'une application Java, des applets, des servlets.
- La dernière version de JDBC est JDBC 4.3 C'est une version stable depuis 21stSept 2017.
- Pilote de type I: JDBC ODBC Bridge - facile à utiliser mais ODBC dépend de la plate-forme. C'est également un pilote à faible performance.
- Pilote de type II: API native - La partie de code native a remplacé la partie ODBC dans le pilote de type I et ciblée sur un produit de base de données spécifique. Il est plus rapide que le pilote de type I.
- Pilote de type III: Le Middle Tier ou Application Server est utilisé comme interface entre le pilote JDBC et la base de données. La connaissance d'Application Server est nécessaire pour l'utiliser efficacement.
- Pilote de type IV: Le pilote JDBC communique immédiatement avec la base de données. Les fournisseurs de bases de données utilisent ce type de pilote et le fournissent aux clients ou aux développeurs.
- JDBC peut être utilisé dans n'importe quel programme écrit en langage Java.
Conclusion
Dans ce didacticiel JDBC, nous avons appris les bases de JDBC et les pré-requis nécessaires avant de continuer avec JDBC. Nous avons vu ses versions et 4 types de pilotes qui aident les développeurs à décider du type de pilote à utiliser dans les programmes.
Nous avons également discuté de l'architecture de JDBC et de ses 4 composants de base.
lecture recommandée
- JDBC DriverManager, JDBC PreparedStatement et Statement
- Tutoriel ChromeDriver Selenium: Tests Selenium Webdriver sur Chrome
- Tutoriel Java SWING: Conteneur, composants et gestion des événements
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- Framework basé sur les données dans Selenium WebDriver à l'aide d'Apache POI
- Gestion des iFrames à l'aide de la méthode Selenium WebDriver switchTo ()
- Test d'accessibilité avec Selenium Webdriver avec exemple de code
- Comment exécuter Selenium WebDriver dans différents navigateurs populaires