Académique Documents
Professionnel Documents
Culture Documents
Mahamadou BELEM
1
JDBC
JDBC : c’est une API qui fait partie intégrante de la plate-forme
Java, et qui est constituée de classes permettant l’accès depuis vos
applications Java à des données rangées sous forme de tables.
Les actions rendues possibles par JDBC sont :
la connexion avec le SGBD ;
l’envoi de requêtes SQL au SGBD depuis une application Java
le traitement des données et éventuelles erreurs retournées
par le SGBD lors des différentes étapes du dialogue (connexion,
requête, exécution, etc.).
2
JDBC
L’avantage de JDBC, c’est qu’il est nativement prévu pour pouvoir s’adapter
à n’importe quel SGBD ! Ainsi pour faire en sorte que notre application
puisse dialoguer avec notre base de données, nous aurons simplement
besoin d’ajouter à notre projet un driver qui est spécifique à la base de
données.
3
JDBC
Les composantes de JDBC
DriverManager: il est utilisé pour gérer la liste de Driver (database drivers).
Driver: est une Interface,il est utilisé pour relier la base de données avec des liens. Une fois le driver est
téléchargé, le programmeur ne doit pas appeler ouvertement.
Connection :Est une Interface avec toutes les méthodes de communication avec la base de données.
L'objet de connexion représente le contexte de communication i.e.,. Toutes les communications avec la
base donnée se fait par l'objet de Connexion uniquement.
Statement : Incarne une déclaration SQL qui est envoyée à la base donnée pour analyser, compiler,
planifier et mettre en oeuvre.
ResultSet : ResultSet représente l’ensemble des éléments récupérés par l’exécution de la requête.
4
JDBC
Mise en pratique
la connexion à la base ;
la création et l’exécution d’une requête SQL ;
la récupération de son résultat ;
la fermeture des différentes ressources mises en jeu.
5
Connexion à la base de données
Chargement du driver
Class.forName("org.postgresql.Driver");
Connexion à la base de données
Pour nous connecter à la base de données Postgres depuis
notre application Java, nous avons besoin d’une URL
spécifique à Postgres, qui respecte la syntaxe générale
suivante :
jdbc:postgresql://host:port/maBD
Le port par défaut est 5740
6
Connexion à la base de données
Connexion à la base de données
La connexion à la base de données depuis notre application se
fait comme suit :
Connection db = DriverManager.getConnection(url, username,
password);
Où url est l’url précédemment spécifiée
username est le nom d’utilisateur
password : le mot de passe
7
Manipulation des données
Avant de pouvoir créer des instructions SQL, vous
devez tout d’abord créer un objet de type Statement.
Après la création de statement, on peut procéder à la
création et l’exécution des requêtes
Deux méthodes sont courramment utilisées
ExecuteQuery pour la sélection
ExecuteUpdate pour la mise à jour, l’insertion et la
suppression des données dans la base de données
8
Manipulation des données
Exemple : exécution d’une requête de sélection et
parcours du résultat
//création de l’objet statement
Statement st = db.createStatement();
//exécution d’une requête select
ResultSet rs = st.executeQuery("SELECT * FROM mytable WHERE
columnfoo = 500");
//parcours et traitement du résultat de la requête
while (rs.next()) {
System.out.print("Column 1 returned ");
//récupération de la valeur de la première colonne
System.out.println(rs.getString(1));
}
rs.close();
st.close();
9
Manipulation des données
Récupération des données d’une colonne se fait de
deux manières. Soit en utilisant le nom de la colonne
rs.getString("email")
soit en utilisant l’index de la colonne
rs.getString(1)
10
Manipulation des données
Il existe une méthodegetXXX()par type primitif ainsi que quelques autres correspondant aux types SQL :
getArray(int colummnIndex);
getAscii(int colummnIndex);
getBigDecimal(int colummnIndex);
getBinary(int colummnIndex);
getBlob(int colummnIndex);
getBoolean(int colummnIndex);
getBytes(int colummnIndex);
getCharacter(int colummnIndex);
getDate(int colummnIndex);
getDouble(int colummnIndex);
getFloat(int colummnIndex);
getInt(int colummnIndex);
getLong(int colummnIndex);
getObject(int colummnIndex);
getString(int colummnIndex). 11
Manipulation des données
Exemple d’insertion de données dans une table
12
Requêtes préparées
On peut utiliser aussi l’objet PrepareStatement
13
Fermeture des ressources
La fermeture des resulset d’abord
– result.close() ;
La fermeture des statements ensuite
– stat.close() ;
La fermeture de la connexion à la fin
db.close();
14
https://o7planning.org/fr/10167/tutoriel-java-jdbc#a12649
https://openclassrooms.com/fr/courses/26832-apprenez-
a-programmer-en-java/26258-jdbc-decouvrez-la-porte-d
acces-aux-bases-de-donnees
15