0% ont trouvé ce document utile (0 vote)
25 vues22 pages

Introduction à JDBC et ses Drivers

JDBC (Java DataBase Connectivity) est une API Java permettant de se connecter et d'interagir avec des bases de données relationnelles. Elle fournit une abstraction des SGBDR et utilise des drivers pour établir la communication entre l'application Java et la base de données. La mise en œuvre de JDBC implique l'importation de packages, l'enregistrement de drivers, l'établissement de connexions, l'exécution de requêtes SQL et le traitement des résultats.

Transféré par

ouaail elaouad
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues22 pages

Introduction à JDBC et ses Drivers

JDBC (Java DataBase Connectivity) est une API Java permettant de se connecter et d'interagir avec des bases de données relationnelles. Elle fournit une abstraction des SGBDR et utilise des drivers pour établir la communication entre l'application Java et la base de données. La mise en œuvre de JDBC implique l'importation de packages, l'enregistrement de drivers, l'établissement de connexions, l'exécution de requêtes SQL et le traitement des résultats.

Transféré par

ouaail elaouad
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

JDBC

JDBC
2

 Présentation
 Architecture
 Drivers

 Mise en œuvre
Présentation 1/2
3

 Java DataBase Connectivity

 API Java adaptée à la connexion avec les bases de données


relationnelles (SGBDR)
Présentation 2/2
4

 Objectifs de JDBC

 Fournir un accès homogène aux SGBDR


 Abstraction des SGBDR cibles

 Requêtes SQL

 Simplicité de mise en oeuvre


Drivers 1/4
5

 TYPE 1 :
Appli Java
Pilotes accédant à une base Driver JDBC (en java)
de données par Driver ODBC (non java)
l’intermédiaire d’une autre
technologie. Le pilote
convertit les appels de
données Java en appel Protocole SGBD
ODBC valide, et les exécute
ensuite à l’aide du pilote
ODBC.
Base de
Données
Drivers 2/4
6

 TYPE 2 :
Appli Java
Pilotes d’API natifs. Il s’agit Partie en java
d’un mélange de pilotes natifs Driver
Partie native
et de pilotes Java. Les appels
JDBC sont convertis en appels
natifs pour le serveur de bases
de données (Oracle, Sybase, Protocole SGBD
…) généralement en C ou en
C++.

Base de
Données
Drivers 3/4
7

 TYPE 3 : Appli/Applet
Java
Pilote convertissant les appels
JDBC en un protocole TCP/RMI/Corba
indépendant du SGBD. Un
serveur d'applications convertit Driver en java
ensuite ceux-ci dans le Serveur
protocole SGBD requis d'Applications
(architecture 3-tiers).
Protocole SGBD

Base de
Données
Drivers 4/4
8

 TYPE 4 : Appli/Applet
Java
Pilote « 100% Java ». Pilotes Driver Java
convertissant les appels JDBC
directement en un protocole
réseau exploité par le SGBD.
Ces pilotes encapsulent Protocole réseau
directement l’interface cliente du SGBD
du SGBD et sont fournis par
les éditeurs de base de
données.
Base de
Données
Expliquer le rôle de
JDBC («Java Database Connectivity»)
Application Java

JDBC

ODBC

Oracle MySQL SQLServer Access


Expliquer le rôle de
JDBC («Java Database Connectivity»)
 JDBC définit de façon abstraite comment accéder aux
données externes
 Les méthodes utilisées pour accéder à une source de données et
pour manipuler cette source sont définies indépendamment du
fournisseur de base de données

 On utilise le langage SQL pour effectuer les requêtes dans


la base de données

 On utilise des instructions Java pour


 Se connecter à la base de données
 Exécuter une requête SQL sur cette base de données
 Manipuler les données obtenues, les données à transmettre
Utiliser JDBC pour accéder à une
source de données
Java

JDBC

BD
Utiliser JDBC pour accéder à une
source de données
 JDBC utilise un pilote afin de travailler avec une base de donnée spécifique
 Le pilote fait le pont entre l'interface indépendante de JDBC et les spécificités
de la base de données utilisée

 Certains fournisseurs de bases de données offrent des pilotes JDBC


spécifiques
 Par exemple, Oracle fournit ses pilotes JDBC :
oracle.jdbc.OracleDriver
oracle.jdbc.pool.OracleConnectionPoolDataSource

 D'autres fournisseurs ne fournissent que des pilotes ODBC


 Il faut alors que cette source soit définie comme une source de données ODBC
sur l'ordinateur offrant le service de données
 On utilisera alors le pont JDBC-ODBC pour accéder à ces sources de données :
sun.jdbc.odbc.JdbcOdbcDriver
La Technologie ODBC
13

 ODBC signifie Open Database Connectivity. Il s'agit d'un format


propriétaire défini par Microsoft permettant la communication entre
des clients pour bases de données fonctionnant sous Windows et les
SGBD du marché.
 Etant donné qu'il existe différents types de bases de données, et que
chacune d'entre-elles possède sa propre façon de traiter les requêtes
SQL et de renvoyer les résultats, ODBC permet d'obtenir des résultats
identiques quelque soit le type de base de données, sans avoir à
modifier le programme d'appel qui transmet la requête.
 ODBC n'est toutefois pas la solution miracle, étant donné d'une part
qu'il ne s'agit pas d'une technologie libre (Microsoft la fait évoluer à
son gré), d'autre part qu'il ne s'agit que d'une interface "alternative" à
celle fournie par les constructeurs et compliquée à maîtriser.
Architecture
14
Mise en œuvre 1/6
15

 Importer le package java.sql


 Enregistrer le driver JDBC
 Etablir la connexion à la base de données
 Créer une zone de description de requête
 Exécuter la requête
 Traiter les données retournées
 Fermer les différents espaces
Mise en œuvre 2/6
16

 Enregistrer le driver JDBC


Méthode forName() de la classe Class :
Class.forName("com.mysql.jdbc.Driver");

 Connexion à la base
Méthode getConnection() de DriverManager :
Connection connexion =
DriverManager.getConnection(url,user,password);
Mise en œuvre 3/6
17

 Création d’un Statement


L’objet Statement possède les méthodes nécessaires pour
réaliser les requêtes sur la base associée à la connexion dont il
dépend.

Statement statement = connexion.createStatement();


Mise en œuvre 4/6
18

 Exécution d’une requête


executeQuery() : pour les requêtes (SELECT) qui retournent un
ResultSet (ensemble des enregistrements traités).
executeUpdate() : pour les requêtes (INSERT, UPDATE, DELETE,
CREATE TABLE, DROP TABLE) qui retournent un entier (nombre
des enregistrements traités)

ResultSet resultset = statement.executeQuery ("SELECT


numero,nom, prenom FROM telephone")
Mise en œuvre 5/6
19

 Traiter les données retournées


on peut parcourir le ResultSet d’avant en arrière :
next(),previous()
en déplacement absolu, relatif, aller à la n-ième ligne :
absolute(int row), relative(int row), first(), last(), ...
Les colonnes sont référencées par leur numéro (commencent à
1) ou par leur nom.

while(resultset.next())
{
int numero = resultset.getInt(1);
String nom = resultset.getString("nom");
}
Mise en œuvre 6/6
20

 Fermer les différents espaces ouverts pour terminer


proprement un traitement.

Chaque objet possède une methode close():


resulset.close();
statement.close();
connection.close();
Conclusion
21

 Utilisation d’une API unique (JDBC) pour tous les SGBD.


 Par l’intermédiaire des drivers, les moyens d’accès aux bases
de données deviennent transparents.
 Simplicité de mise en œuvre, indépendant de la SGBD cible
 Nécessité de connaître SQL.

Actuellement API JDBC 2.0 (inclus dans Java 2)


Tous les drivers sur :
http://industry.java.sun.com/products/jdbc/drivers
JDBC
22

FIN

Vous aimerez peut-être aussi