Vous êtes sur la page 1sur 2

Control jusqu’à JDBC (jsp-servlet-jdbc)

- 15 questions Qcm (7 vrai faux /8 multiple choix) / Ila kan l code aykon Ghir qu’il est le résultat attendu mn le code
- 5 questions compréhension de cours direct

 L'API JDBC (Java Database Connectivity) hiya moyen f Java bach kaykoun programme kaykhdem m3a BD.
 B7al 9enttra bin BD o program yduz la connexion m3a BD o kayexécuti requêtes SQL bach récupiriw /ymodifiw data.

Bonnes pratiques fih : 😊 kayn tn9ass connections w objets li ma3ndk madir bihum 😊 + Récupérer just les données

li daroriin + 😊 traiter les erreurs,+ 😊 w utiliser les BatchUpdates bach ndiro plusieurs opérations f we7da.

1-Le choix du pilote Éviter type 1 (pont JDBC/ODBC)


14. JDBC (Type affecte Type 2 : performances moyennes (API native)
L'améliorati performances) + Préférer Type 3 : performances meilleures (middleware)
on des type 4 ou 3 + Tester pilote Type 4 : meilleures performances (écrits en Java)

 😊 Utiliser pilote compatible avec dernière version de JDBC


performanc du fournisseur et tiers
es avec
→ Best Practices pour JDBC.
JDBC-
2-Design Pattern → Fermer les ressources inutilisées rapidement (Conn/Stmt/RS).
→ Ne retourner que les données utiles lors de sql.
→ Toujours traiter les warnings et les exceptions
3-Connexions+Statement  setReadOnly() avec true pour accès en lecture seule, optimisation.
 setMaxRows(), setMaxFieldSize(), SetFetchSize() : paramétrer données reçues.
 nativeSQL(): requête SQL native.
4-Pool de 1. Maintient plusieurs connexions à BD ouvertes
2. Économie de temps et de ressources
connexion 3. Fourni par l'environnement d'exécution, un tiers ou développé en interne
4. Stratégie plus efficace pour les applications avec accès fréquent à BD

☹ MAJ == Mise a jour ☹


5- Config et utilisation
Curseur adapté / selon besoin:
ResultSet amélioren
t performances. 1. TYPE_FORWARD_ONLY : pas de MAJ, pour des lectures séquentielles.
TYPE_SCROLL-SENSITIVE : parcours avec MAJ immédiate
2. TYPE_SCROLL_INSENSITIVE : MAJ à la fermeture. Éviter pour 1 seule occurrence.
😊 Éviter getObject(), utiliser getXXX() selon type de donnée.

6PreparedStatemet  BD effectue une partie des traitements lors de la première utilisation, ce qui
(Utile pour les requêtes accélère les appels suivants.
répétitives avec les mêmes  JDBC 3.0 permet de stocker les PreparedStatement dans un cache partagé pour
paramètres) améliorer les performances.
7maximiser Utiliser "count (*)" plutôt que parcourir ResultSet avec compteur incrémenté.
traitementsBD Procédures stockées pour traitements lourds+ marqueurs de paramètres dans requêtes S
8- exécution Exécution de requêtes groupées avec BatchUpdates:
requêtes b mode  setAutoCommit(false) Inhiber l'autocommit
batch :  AddBatch () Ajouter les traitements SQL ° ExecuteBatch () Exécuter les traitements
9-Attention aux Éviter les conflits (deadlocks) + Inhiber l'autocommit
transactions → Réaliser plusieurs opérations avant de commiter
→ Ne pas laisser une transaction ouverte trop longtemps
→ Le niveau d'isolation influe sur les performances

Outils pour JDBC : 4 classes importantes :


→ Classes JDBC 1.0 dans java.sql (JDK 1.1+) et 2.0 dans Les classes de JDBC sont dans java.sql, il faut l'importer
JDK 1.2+ DriverManager : charger et configurer le driver de BD
→ Besoin d'un pilote spécifique à la base de données Connection : se connecter à BD.
→ JDK fournit un pilote pour accès via ODBC Statement : envoyer une requête SQL à BD
→ Pilote assure l'indépendance de JDBC ResultSet : récupérer les résultats d'une requête SQL.
→ Utiliser ODBC 32 bits pour pont JDBC-ODBC /
Windows

 VERSIONS JDBC

JDBC 2.0 : Parcours et mise à jour des résultats, mises à jour de masse, prise en compte de BLOB et CLOB.
JDBC 3.0 : Compatibilité avec la version précédente, support de SQL 99, savepoints, récupération des identifiants
générés automatiquement.
JDBC 4.0 : Gestion améliorée des pools de connexions et des caches d'instructions, extension du support de SQL avec
XML, meilleure gestion des exceptions, simplification de l'exploitation des requêtes avec annotations
Cnx BD Etablissement cnx
→ Charger le pilote JDBC pour communiquer bd. Pour se connecter à une base de données, créer un
→ Utiliser fabrique pour créer instance de type objet Connection en précisant l'URL de la base.
Connection pour encapsuler cnx. Le protocole est "jdbc" et le sous-protocole dépend du
→ Pour une cnx ODBC, charger le pilote type de base.Utiliser la classeDriverManager pour
JDBC-ODBC. obtenir la connexion

Accès Bd : Après la connexion, on peut exécuter des commandes SQL en utilisant les objets suivants :
 DatabaseMetaData : informations sur la base de données comme les tables, les index, etc.
 ResultSet : résultats d'une requête et informations sur une table, avec un accès enregistrement par
enregistrement.
 ResultSetMetaData : informations sur les colonnes (nom et type) d'un ResultSet.

Vous aimerez peut-être aussi