0% ont trouvé ce document utile (0 vote)
59 vues31 pages

Presentation JDBC

Le document présente JDBC (Java DataBase Connectivity), une API permettant aux programmeurs Java d'interagir avec des systèmes de gestion de bases de données (SGBD) de manière indépendante. Il décrit les étapes de mise en place de JDBC, y compris la connexion à une base de données MySQL, la création de requêtes SQL, et l'utilisation de classes comme Statement et PreparedStatement pour exécuter des instructions. Le document aborde également les méthodes CRUD et l'importance de fermer les connexions après utilisation.

Transféré par

Yassin Rebhi
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues31 pages

Presentation JDBC

Le document présente JDBC (Java DataBase Connectivity), une API permettant aux programmeurs Java d'interagir avec des systèmes de gestion de bases de données (SGBD) de manière indépendante. Il décrit les étapes de mise en place de JDBC, y compris la connexion à une base de données MySQL, la création de requêtes SQL, et l'utilisation de classes comme Statement et PreparedStatement pour exécuter des instructions. Le document aborde également les méthodes CRUD et l'importance de fermer les connexions après utilisation.

Transféré par

Yassin Rebhi
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Projet d’intégration GL JAVA WEB

Connexion à la base de données - JDBC

ESPRIT - UP JAVA Année universitaire 2024/2025


JDBC

2
Avant JDBC...
● Avant JDBC, il était difficile d’accéder à des bases de données SQL:
- Utilisation de librairies C/C++
- Utilisation d'API natives comme ODBC

● Problème majeur
- dépendance totale avec le SGBD utilisé

3
SGBD?

● En informatique, un système de gestion de base de données (abr. SGBD) est un


logiciel système servant à stocker, à manipuler ou gérer, et à partager des informations
dans une base de données, en garantissant la qualité, la pérennité et la confidentialité
des informations, tout en cachant la complexité des opérations.

● Exp: MySQL, Oracle DataBase, PostgreSQL,etc...

4
JDBC: Java DataBase Connectivity
● API d’interaction avec un SGBD contenant :
- un ensemble de classes et d’interfaces

● Permet de:
1. Établir une connexion avec un SGBD
2. Envoyer des requêtes SQL
3. Récupérer des résultats de requêtes

⇒ Permettre aux programmeurs Java d’écrire un code indépendant de la base de


données et du moyen de connexion utilisé
5
JDBC: Java DataBase Connectivity

6
JDBC: Java DataBase Connectivity
● Drivers

- chaque SGBD utilise un pilote (driver) qui lui est propre et qui permet de
convertir les requêtes JDBC dans le langage natif du SGBD

- le driver est un ensemble de classes qui implantent les interfaces de JDBC

- les drivers sont le lien entre le programme Java et le SGBD

7
JDBC: Java DataBase Connectivity
● API JDBC

- Interface uniforme permettant un accès homogène aux SGBD

- Simple à mettre en œuvre

- Indépendant du SGBD support

- Supportant les fonctionnalités de base du langage SQL


8
Mise en place

9
JDBC: Mise en place

- Importer le package en [Link].*


- Etablir la connexion au SGBD
- Créer une requête (ou instruction SQL)
- Exécuter la requête

NB: Vous devez télécharger la dernière version de l’IDE IntelliJ

10
JDBC: Mise en place
● Etape 1 :Base de données MySQL

- Créer une base mysql ‘esprit’ et une table personne (avec 3 champs: id, nom
et prenom)

11
JDBC: Mise en place
● Etape 2 : MySQL JDBC Driver

- Ouvrez le fichier « [Link] » de votre projet.

- Faites un clic droit sur le fichier et sélectionnez


l'option « Generate …» dans le menu contextuel.

12
JDBC: Mise en place
- Choisissez « Dependency » dans la liste des options.
Cela ouvrira une fenêtre intitulée « Maven Artifact
Search ».
- Dans l'onglet « Search For Artifact », saisissez
«mysql:mysql-connector-java » et choisissez la
dernière version disponible.
- Appuyez sur le bouton « Load Maven Changes »
pour télécharger et installer automatiquement la
bibliothèque dans votre projet.
13
JDBC: Mise en place
● Etape 3 : Etablir une connexion

- Création d’un objet de type Connection : conn


- conn = [Link](url, user, pwd);

● Etape 4 : Traiter les exceptions

- SQLException

14
JDBC: Mise en place
● Etape 5 : Les attributs de connexion

- String url = "jdbc:mysql://localhost:3306/esprit";


- String user = "root";
- String pwd = "";
- Connection conn;
- Statement ste;

15
JDBC: Création d’un statement

● L'interface Statement possède les méthodes nécessaires pour réaliser les requêtes sur la
base

⇒ exécuter des instruction SQL

● 2 types de Statement :
- Statement ⇒ requêtes statiques simples
- PreparedStatement ⇒ requêtes dynamiques précompilées

16
JDBC: Statement Vs. Prepared Statement
● Lors de l'envoi d'une requête pour exécution 4 étapes doivent être faites :
- analyse de la requête
- compilation de la requête
- optimisation de la requête
- exécution de la requête

⇒ et ceci même si cette requête est la même que la précédente !! Or les 3 premières
étapes ont déjà été effectuées dans ce cas.
17
JDBC: Statement Vs. Prepared Statement

● Les bases de données définissent la notion de requête préparée, requête où les 3


premières étapes ne sont effectuées qu'une seule fois.

● JDBC propose l'interface PreparedStatement pour modéliser cette notion

18
JDBC: Création d’un statement

● Créer un STATEMENT

- ste = [Link]();

● Requête SQL d’ajout

- String req = "Insert into personne values(12,'Tounsi','Wael')";

● Exécuter la Requête

- [Link](req) ⇒ (insert, update, delete)

- [Link](req) ⇒ select
19
Créer une classe Personne

● Créer une classe

[Link]

20
JDBC: Méthodes CRUD

● Créer une classe ServicePersonne qui contient :


- public void ajouter(Personne per) throws SQLException{ }
- public void updatePrenom(Personne per) throws SQLException{ }
- public void delete(int id) throws SQLException{ }
- public Arraylist<Personne> afficherAll() throws SQLException{ }

⇒ Utiliser le ResultSet pour récupérer le résultat de executeQuery

21
JDBC: Fermeture des connexions

● Pour terminer proprement un traitement, il faut fermer les différents espaces ouverts

- [Link]();
- [Link]();
- [Link]();

22
Correspondance Java / BD

23
Requêtes précompilées : PreparedStatemt
● PreparedStatemt : envoie une requête sans paramètres à la base de données:

- plus rapide qu’un Statement classique


- le SGBD n’analyse qu’une seule fois la requête

⇒ requêtes dynamiques précompilées (avec paramètres d’entrée/sortie)

● La méthode prepareStatement() de l’objet Connection crée un PreparedStatement

24
Requêtes précompilées : PreparedStatemt

25
Insertion

26
Insertion

27
Sélection

28
Modification

29
Suppression

30
Merci pour votre attention

31

Vous aimerez peut-être aussi