© Philippe GENOUD UJF 1
JDBC
© Philippe GENOUD UJF 1
JDBC
© Philippe GENOUD UJF 1
20/01/2014
JDBC
Java DataBase Connectivity
© Philippe GENOUD UJF 2
JDBC
20/01/2014
Machine
Virtuelle
Java
Introduction
JDBC Java Data Base Connectivity
API java standard qui permet un accès homogène à des bases de
données depuis un programme Java au travers du langage SQL.
Programme Java
API JDBC
Serveur
Oracle Serveur
MySQL
Serveur
PostgreSQL
L'API JDBC est indépendante des SGBD.
Un changement de SGBD ne doit pas impacter le code applicatif.
http://docs.oracle.com/javase/6/docs/technotes/guides/jdbc/
© Philippe GENOUD UJF 3
JDBC
20/01/2014
interfaces de l'API JDBC
L'API JDBC définit un ensemble d'interfaces (package java.sql)
qui définissent un protocole de communication entre le programme java
client et le serveur de base de données pour
ouverture/fermeture de connexions à une base de données
exécution de requêtes SQL
exploitation des résultats
correspondance types SQL-types JAVA
accès au méta-modèle
description des objets du SGBD
principales interfaces de java.sql
Driver Statement
PreparedStatement
CallableStatement
Connection ResultSet ResultSetMetaData DatabaseMetaData
Connexion et
authentification
auprès du SGBD
Requètes SQL
Résultats des
requêtes
© Philippe GENOUD UJF 4
JDBC
20/01/2014
Pilotes JDBC
Le code applicatif est basé sur les interfaces du JDBC
Pour accéder à un SGBD il est nécessaire de diposer de classes
implémentant ces interfaces.
Elles dépendent du SGBD adressé.
L'ensemble de ces classes pour un SGBD donné est appe
pilote (driver) JDBC
Serveur
Oracle Serveur
MySQL
Serveur
PostgreSQL
Il existe des
pilotes
pour tous les SGBD importants
du marché (Oracle, MySQL, PostgreSQL, DB2, …)
JDBC spécifie uniquement l’API que ces
pilotes
doivent respecter. Ils sont réalisés par une tierce
partie (fournisseur du SGBD, «éditeur de logiciel…)
l’implémentation des drivers est totalement libre
Programme Java
API JDBC
Programme Java
API JDBC
Driver
Oracle Driver
PostgreSQL
© Philippe GENOUD UJF 5
JDBC
20/01/2014
Pilotes JDBC
interfaces
Driver Statement
PreparedStatement
CallableStatement
Connection ResultSet ResultSetMetaData DatabaseMetaData
Connexion et
authentification
auprès du SGBD
Requètes SQL
Résultats des
requètes
Au niveau du programme
d’application on ne travaille qu’avec
les abstractions (interfaces) sans ce
soucier des classes effectives
d’implémentation
Les classes d’implémentation du
driver jdbc sont dans une archive
(fichier jar ou zip) qu’il faut intégrer
(sans la décompresser) au niveau du
classpath de l’application au
moment de l’exécution
Les interfaces définissent une
abstraction du pilote (driver) de la
base de données.
Chaque fournisseur propose sa
propre implémentation de ces
interfaces.
Driver Oracle 8i
Driver MySql
1 / 54 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !