0% ont trouvé ce document utile (0 vote)
7 vues28 pages

Introduction à JDBC et accès aux bases de données

Le document présente JDBC, un outil de connectivité de base de données en Java, en expliquant son fonctionnement, les pilotes, et les étapes d'accès aux bases de données. Il détaille les différentes étapes pour établir une connexion, créer et exécuter des requêtes, ainsi que récupérer les résultats. Des exemples de code illustrent chaque étape, mettant en avant l'utilisation de classes comme DriverManager, Statement, et ResultSet.

Transféré par

adamsemlali40
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)
7 vues28 pages

Introduction à JDBC et accès aux bases de données

Le document présente JDBC, un outil de connectivité de base de données en Java, en expliquant son fonctionnement, les pilotes, et les étapes d'accès aux bases de données. Il détaille les différentes étapes pour établir une connexion, créer et exécuter des requêtes, ainsi que récupérer les résultats. Des exemples de code illustrent chaque étape, mettant en avant l'utilisation de classes comme DriverManager, Statement, et ResultSet.

Transféré par

adamsemlali40
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

Plan

 JDBC: Java database connectivity


o Introduction
o Pilote et gestionnaire de pilotes
o Accès aux Base de Données

2
Introduction
Hibernate : Framework ORM pour le
mappage objet-relationnel.
Spring Data : Ensemble de bibliothèques
facilitant l'accès aux bases de données dans
le cadre du projet Spring.
Spring JDBC : Module Spring simplifiant
l'utilisation de JDBC avec des classes
utilitaires.
EclipseLink : Implémentation JPA avec des
fonctionnalités avancées.
3
Introduction
• JDBC : Java DataBase Connectivity
• Qui : Sun
• Quoi : deux librairies (accessibles dans Java 1.4)
– [Link] : JDBC 2.0 Core API
– [Link] : JDBC 2.0 Optional Package API
• Objectif :
– Accéder aux SGBD à l'aide de requètes SQL
– Récupérer les résultats en Java
– Le type de la base est transparent (Sybase, Oracle,
MySql, Access …) généricité, standardisation
4
Pilote et gestionnaire de pilotes
"Driver et driver manager"
• Classe [Link] :
– Le gestionnaire de pilotes offert par la JVM
• Interface [Link]
– Définit le point d'entrée de tout accès à une base

5
JDBC dans un client léger

6
JDBC dans une architecture J2EE

Architecture d'exécution répartie dans la


plateforme J2EE :

7
Pilote et gestionnaire de pilotes

Un même driver peut piloter


plusieurs bases
Java JDBC Driver SGBD2
SGBD1
DriverManager

Nommage
Java externe

8
Accès aux Base de Données

Il y a Cinq étapes :
1. Charger un pilote
2. Créer une connexion à la base
3. Créer une requête (Statement)
4. Exécuter une requête
5. Présenter les résultats

9
PROJET PILOTE BD

Tables

10
Accès aux Base de Données

Chargement du pilote
Ouverture de connexion
Exécution d’une requête

Programme principal

11
Première étape
"charger un pilote"

12
Charger un pilote

• Classe [Link]
– Fournit les utilitaires de gestion des connexions et
des pilotes
– Elle ne contient que des méthodes statiques
• Les pilotes sont chargés dynamiquement
– implicitement en instanciant la "system property"
[Link]
– explicitement par la méthode statique forName() de
la classe Class

13
Charger un pilote

[Link]("[Link]");

14
Seconde étape
"Créer une connexion à la base"

15
Créer une connexion à la base

 Etablir une connexion est d'avoir le pilote


approprié pour se connecter à votre SGBD.
Cette ligne de code illustre l'idée :
Connection CON=
[Link](url,"MonLogin","MonMotDePasse");

Exemple :

16
Troisième étape
"Créer une requète"

17
Trois types de requêtes

• Requètes simples Statement


– [Link]
• Requètes Précompilées
PreparedStatement
– [Link]
– Pour une opération réalisée à plusieurs
reprises CallableStatement

• Procédures stockées
– [Link]
– Pour lancer une procédure du SGBD

18
Interface [Link]

• Initialisation
Connection con = getConnection();
Statement stmt = [Link]();

• Exécuter une requête


String sql = "SELECT * FROM fournisseur";
ResultSet rs = [Link](sql);

19
Quatrième étape
"Exécuter une requête"

20
Interface [Link]

• Requêtes "select" retournant un tableau


Statement stmt = [Link]();
String sql = "SELECT * FROM fournisseur";
ResultSet rs = [Link](sql);

• Requètes de mise à jour et de création


Statement stmt = [Link]();
String sql = "INSERT INTO Customers " +
"VALUES (1001, 'Simpson', 'Mr.', " +
"'Springfield', 2001)";
int i = [Link](sql);

21
executeQuery ()

• Pour lancer une requète "SELECT" statique


Statement stmt = [Link]();

String s = "select * from employes";


ResultSet rs = [Link](s);
• Un ResultSet est un objet qui modélise un tableau à
deux dimensions
– Lignes (row)
– Colonnes (valeurs d'attributs)

22
executeUpdate ()
INSERT INTO

• Pour lancer une requète INSERT


Statement stmt = [Link]();

String s = "INSERT INTO test (code,val)" +


"VALUES(" + valCode + ", '" +val +"')";
int i = [Link](s);
• Le résultat est un entier donnant le nombre de lignes
créées

23
executeUpdate () - 2
UPDATE

• Pour lancer une requète UPDATE


Statement stmt = [Link]();

String s = "UPDATE table


SET column = expression
WHERE predicates";
int i = [Link](s);
• Le résultat est un entier donnant le nombre de
mises-à-jour

24
executeUpdate () - 3
DELETE

• Pour lancer une requète DELETE


Statement stmt = [Link]();

String s = "DELETE FROM table


WHERE predicates";
int i = [Link](s);
• Le résultat est un entier donnant le nombre de
d’effacements

25
Cinquième étape
"Présenter les résultats"

26
Récupération des résultats
[Link] stmt =
[Link]();
String s = "SELECT a, b, c FROM Table1";
ResultSet rs = [Link](s);
while ([Link]()) {
int i = [Link]("a");
String s = [Link]("b");
byte b[] = [Link]("c");
[Link]("ROW = " + i +
" " + s + " " + b[0]);
}
27
Objets ResultSet

ResultSet rs = [Link](s);
• Se parcourt itérativement row par row
• Les colonnes sont référencées par leur
numéro ou leur nom
• L'accès aux valeurs des colonnes se fait par
des méthodes getXXX() où XXX représente le
type de l'attribut se trouvant dans la colonne

28
Fin

29

Vous aimerez peut-être aussi