0% ont trouvé ce document utile (0 vote)
15 vues9 pages

Introduction à JDBC et SGBD en Java

java jdbc

Transféré par

Ayoub Hamroudi
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)
15 vues9 pages

Introduction à JDBC et SGBD en Java

java jdbc

Transféré par

Ayoub Hamroudi
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

03/04/2021

JAVA DATA BASE


CONECTIVITY

Pr. Sarra ROUBI


LP Génie Informatique : S6

JDBC
Définition, Syntaxe & usage (complément cours S5
Java avancé)

1
03/04/2021

Introduction : Base de données


■ Rappel :
– Enregistrer les données (information) de façon organisée et
hiérarchique.
– La base de données (BDD, ou DB en anglais) est un système qui
enregistre des informations, mais pas n'importe comment : ces
informations sont toujours classées.
– Et c'est ça qui fait que la BDD est si pratique : c'est un moyen
extrêmement simple de ranger des informations

Introduction : Base de données


■ Il y’a un vocabulaire spécifique pour désigner les différents éléments
composant une BDD :
■ la base désigne le volume englobant l'ensemble, la boîte qui contient tous les
tableaux ;
■ une table désigne un tableau de données, elle contient des lignes et des
colonnes ;
■ une entrée désigne une ligne ;
■ un champ désigne une colonne.

2
03/04/2021

Introduction : SGBD
■ Il existe plusieurs SGBD :
■ MySQL : solution libre et gratuite, c'est le SGBD le plus répandu. C'est d'ailleurs celui que
nous allons utiliser dans ce cours !
■ PostgreSQL : solution libre et gratuite, moins connue du grand public mais proposant des
fonctionnalités inexistantes dans MySQL ;
■ Oracle : solution propriétaire et payante, massivement utilisée par les grandes entreprises.
C'est un des SGBD les plus complets, mais un des plus chers également ;
■ SQL Server : la solution propriétaire de Microsoft ;
■ DB2 : la solution propriétaire d'IBM, utilisée principalement dans les très grandes entreprises
sur des Mainframes.

Mise en place de JDBC


■ JDBC est 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. Dans la très grande majorité des
cas, il s'agira bien entendu de bases de données stockées dans un SGBD !
Les actions rendues possibles par cette API 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.).

3
03/04/2021

Mise en place de JDBC


■ JDBC est nativement prévu pour pouvoir s'adapter à n'importe quel SGBD !
Ainsi pour faire en sorte que notre application puisse dialoguer avec MySQL,
nous aurons simplement besoin d'ajouter à notre projet un driver qui est
spécifique à MySQL.

Chargement du driver
/* Chargement du driver JDBC pour MySQL */
try {
Class.forName( "com.mysql.jdbc.Driver" );
} catch ( ClassNotFoundException e ) {
/* Gérer les éventuelles erreurs ici. */
}

4
03/04/2021

Connexion à la Base de données


jdbc:mysql://nomhote:port/nombdd
■ nomhote : le nom de l'hôte sur lequel le serveur MySQL est installé. S'il est en place sur la
même machine que l'application Java exécutée, alors vous pouvez simplement
spécifier localhost. Cela peut également être une adresse IP comme 127.0.0.1. Au passage,
si vous rencontrez des problèmes de connectivité en spécifiant localhost et que l'utilisation
de 127.0.0.1 à la place les résout, alors vous avez un souci de configuration réseau (DNS,
hosts, etc.) ;
■ port : le port TCP/IP écouté par votre serveur MySQL. Par défaut, il s'agit du port 3306 ;
■ nombdd : le nom de la base de données à laquelle vous souhaitez vous connecter. En
l'occurrence, il s'agira pour nous de bdd_ecom.

jdbc:mysql://localhost:3306/bdd_ecom

Connexion à la Base de données

10

5
03/04/2021

Les requêtes
/* Création de l'objet gérant les requêtes */
■ Statement statement = connexion.createStatement();

/* Exécution d'une requête de lecture */


■ ResultSet resultat = statement.executeQuery( "SELECT id, email,
mot_de_passe, nom FROM Utilisateur;" );

11

Les requêtes
/* Exécution d'une requête de lecture */
ResultSet resultat = statement.executeQuery( "SELECT id, email, mot_de_passe, nom
FROM Utilisateur;" );

/* Récupération des données du résultat de la requête de lecture */


while ( resultat.next() ) {
int idUtilisateur = resultat.getInt( "id" );
String emailUtilisateur = resultat.getString( "email" );
String motDePasseUtilisateur = resultat.getString( "mot_de_passe" );
String nomUtilisateur = resultat.getString( "nom" );

/* Traiter ici les valeurs récupérées. */


}

12

6
03/04/2021

MODÈLE DAO

13

Pattern DAO
■ Isoler le stockage des données :
– L’idée est qu'au lieu de faire communiquer directement les objets
métier avec la base de données, ou le système de fichiers, ou
les webservices, ceux-ci vont parler avec la couche DAO.
– Et c'est cette couche DAO qui va ensuite de son côté communiquer
avec le système de stockage

14

7
03/04/2021

Pattern DAO
■ Isoler le stockage des données :

Ajouter()
Lister()

Ajouter()
Lister()
CRUD : …
Ajouter()
Lister()

Ajouter()
Lister()

15

DAO : Principe
■ Constitution :
– Séparer la couche modèle d'une application en deux sous-
couches distinctes :
■ une couche gérant les traitements métier appliqués aux données,
souvent nommée couche service ou métier. Typiquement, tout le travail
de validation réalisé dans les objets
■ une couche gérant le stockage des données, logiquement nommée
couche de données. Il s'agit là des opérations classiques de stockage :
CRUD.

16

8
03/04/2021

DAO : Principe
■ Constitution :
– Séparer il est nécessaire d'encapsuler les exceptions spécifiques
au mode de stockage dans des exceptions personnalisées et
propres à la couche DAO.

– masquer le code responsable du stockage au code « extérieur », et


l'exposer uniquement via des interfaces.

– Pour la relation entre la couche métier et le DAO, c'est très simple


: les objets métier appellent les méthodes CRUD, qui ont pour rôle
de communiquer avec le système de stockage et de peupler les
beans représentant les données.

17

DAO : Création
■ Voir TPs

18

Vous aimerez peut-être aussi