Vous êtes sur la page 1sur 21

Université Cheikh Anta Diop de Dakar

Faculté des Sciences et Techniques


(F.S.T.)
Departement de Mathématiques et Informatique
(D.M.I.)
Laboratoire d'Algèbre de Cryptologie de Géométrie Algébrique et Applications
(L.A.C.G.A.A.)
Licence 2 Transmission de données et sécurité de l’information

Expose sous le theme : Interactions


avec les bases de données en Java

Elabore par :
Babacar DIALLO
Bassirou THIOUNE Professeur :
Babacar GAYE Mr Mbengue
Ngagne Demba DIA
Saly KA
PLAN
INTRODUCTION
1. PRINCIPE ET ARCHITECTURE
JDBC
2. LES PILOTES, LES TYPES DE
DRIVERS ET CHARGEMENT DU
PILOT
3. LES URLs JDBC
4. STRUCTURE D’UN PROGRAMME
DE JDBC
a. CONNEXION
b. DECLARATION ET EXECUTION
DE LA REQUETE
c. EXPLOITATION DES RESULTATS
d. L’ACCES EN MISE A JOUR
e. DECONNEXION
MOT CLES

JDBC : Java Database Connectivity

BD : Base de Données

SGBD : Système de Gestion de Base de


données

SQL : Structured Query Language

ODBC : Open Database Connectivity


INTRODUCTION

L’une des forces du langage de programmation Java est sa capacité à


implémenter de nombreux types d’applications : web, mobile, backend, etc.
Les applications traitent toutes de la donnée ! Que ce soit de la donnée
statique (qui ne change pas) ou dynamique (qui peut changer), toutes les
applications ont affaire avec les données. De ce fait, les applications
collaborent avec des bases de données pour gérer et persister la donnée. Un
programme Java avec une base de données, c’est comme faire se rencontrer 2
personnes qui ne parlent pas la même langue

Alors comment fait-on pour permettre à une application Java de


communiquer avec une base de données ?

C’est précisément à cette question qu'on va répondre ! nous allons vous


montrer comment permettre à une application Java d’interagir avec une base
de données.
PRINCIPE ET ARCHITECTURE JDBC

Java DataBase Connectivity (JDBC)


permet à un programme Java d’interagir
 localement ou à distance
 avec une base de données relationnelle

fonctionne selon un principe client/serveur


 client = le programme Java
serveur = la base de données
principe
 le programme Java ouvre une
connexion
 il envoie des requêtes SQL
 il récupère les résultats de la
requête
….. (ici les traitements à faire
sur les données recueillies)
 il ferme la connexion une fois
les traitements terminés
Application
Programmeur

API
JDBC Gestionnaire
JDBC DriverManager de pilote
JDBC JDBC
DRIVER
API

JDBC-ODBC

Pilote donné ou vendu


JDBC driver
bridge driver JBDC driver
pour Oracle
pour MySQL

ODBC driver

MS SQL MySQL Oracle


ACCESS SERVER
LES PILOTES, LES TYPES DE DRIVERS ET CHARGEMENT DU PILOT

• L’ensemble des classes qui implémentent les interfaces spécifiées par


JDBC pour un SGBD (Système de Gestion de Bases de Données)
particulier est appelé un pilote JDBC.
Chaque BD utilise un pilote qui lui est propre et qui permet de convertir
les requêtes dans le langage natif du SGBDR.
• Il existe quatre grandes familles de pilotes JDBC en Java
 Pilote JDBC-ODBC
 Pilote natif
 Pilote de protocole réseau

 Pilote entièrement écrit en java(Thin driver)


LES URLs JDBC

Une URL JDBC (Java Database Connectivity) est une chaîne de connexion utilisée pour établir une
connexion entre une application Java et une base de données relationnelle.

STRUCTURE D’UN PROGRAMME DE JDBC

1. On établit une connexion avec une source de données


2. On effectue des requêtes
3. On utilise les données obtenues pour des affichages, des traitements statistiques
etc.
4. On met à jour les informations de la source de données
5. On termine la connexion
6. Eventuellement, on recommence en 1
Connexion

Pour établir une connexion à une base de données, il faut :


1. Connaître son nom 2.
2. Lui associer un pilote (ou driver)
Pour charger l’adresse des pilotes :
EXPORT CLASSPATH = nomFichier:.:$CLASSPATH

DECLARATION DU DRIVER

 Pour charger un driver, on peut utiliser la méthode Class.forName(String)


 Pilote utilisé à l’IUT : oracle.jdbc.driver.OracleDriver
 Emplacement des archives : C:\Oracle32\jdbc\lib\ojdbc8
EXEMPLE
ETABLIR LA CONNEXION

On utilise la méthode getConnection( ) de la classe DriverManager avec l’URL en


argument :
Connection maConnexion = DriverManager.getConnection(url);
ou bien
Connection maConnexion =
DriverManager.getConnection(url,"ffioren","mdp");

EXEMPLE
DECLARATION T EXECUTION DE LA REQUETE

Il faut tout d’abord demander la création du statement Statement


monInstruction = maConnexion.createStatement( );
Ensuite il faut déclarer le code SQL de la requête ResultSet
monResultat = monInstruction.executeQuery(maRequête);

EXEMPLE
EXPLOITATION DES RESULTATS

On peut parcourir les lignes de l’objet ResultSet avec la méthode next( ).


Cette méthode renvoie VRAI s’il reste des lignes à lire et FAUX sinon :
while(monResultat.next( )){
traitement des données récupérées
}

EXEMPLE 1
EXEMPLE 2

EXEMPLE 3
EXEMPLE 4

EXEMPLE 5 AVEC ResultSetMetaData


DECONNEXION

Libérer les objets ResultSet et Statement :


monObjet.close( );
Fermer la connexion :
maConnexion.close( );

EXEMPLE
TRAITEMENT DES DONNEES RETOURNEES

• executeQuery() : renvoie une instance de ResultSet qui permet d’accéder aux


champs des n-uplets sélectionnes.
• Les rangées du ResultSet se parcourent itérativement ligne (row) par ligne.
• Exemple :

• boolean next() : permet d’avancer a la ligne suivante, retourne false si pas de


ligne suivante place avant la première ligne a la création du ResultSet
• Les colonnes sont référencées par leur numéro ou par leur nom
L’ accès aux valeur des colonnes se fait par des méthodes (String nomCol) ou
getXXX(int numCol) ou XXX depend du type de la colonne dans la table SQL.
CORRESPONDANCE DES TYPES DE DONNEES SQL/JAVA

TYPE SQL TYPES JAVA METHODES

char/varchar/ String getString()


longchar
integer int getInt()

tinyint byte getByte()

smallint short getShort()

bigint long getLong()

bit boolean getBoolean()

real float getFloat()

Numeric decimal java.math.BigDecimal getBigDecimal()

date java.sql.Date getDate()

time java.sql.Time getTime()

Vous aimerez peut-être aussi