Vous êtes sur la page 1sur 15

JDBC

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

//création de l’objet statement


Statement st = db.createStatement();
//exécution d’une requête select
Int statut = st.executeUpdate( "INSERT INTO Utilisateur (email,
mot_de_passe, nom, date_inscription) VALUES ('jmarc@mail.fr',
MD5('lavieestbelle78'), 'jean-marc', NOW());" );
st.close();

12
Requêtes préparées

On peut utiliser aussi l’objet PrepareStatement

int foovalue = 500;


PreparedStatement st = db.prepareStatement("SELECT * FROM mytable WHERE
columnfoo = ?");
st.setInt(1, foovalue);
ResultSet rs = st.executeQuery();
while (rs.next()) {
System.out.print("Column 1 returned ");
System.out.println(rs.getString(1));
}
rs.close();
st.close();

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

Vous aimerez peut-être aussi