Fiche de révision : Introduction à JDBC avec Java et Oracle

1. 📌 L'essentiel

  • JDBC (Java Database Connectivity) est l'API Java pour accéder bases relationnelles.
  • La connexion à Oracle se fait via une URL JDBC spécifique : jdbc:oracle:thin:user/password@host:port:service.
  • Le chargement du pilote Oracle se réalise avec Class.forName("oracle.jdbc.OracleDriver").
  • La création d’une connexion : DriverManager.getConnection(url).
  • Exécution de requêtes SQL avec Statement ou PreparedStatement.
  • executeQuery() pour SELECT, executeUpdate() pour INSERT/UPDATE/DELETE.
  • Parcours du ResultSet avec next() et accès aux colonnes avec getXXX().
  • Ressources à fermer : ResultSet, Statement, Connection.
  • Types SQL-Java : CHAR/VARCHAR2 → String, NUMERIC/DECIMAL → BigDecimal, DATE → java.sql.Date, etc.
  • La gestion des erreurs doit prévoir try/catch.

2. 🧩 Structures & Composants clés

  • Driver JDBC — pilote pour Oracle, chargé via Class.forName().
  • URL JDBC — chaîne de connexion formatée : jdbc:oracle:thin:user/password@host:port:service.
  • Connection — objet représentant la connexion à la base.
  • Statement / PreparedStatement — pour exécuter des requêtes SQL.
  • ResultSet — résultat d’une requête SELECT, parcours ligne par ligne.
  • Type de requêtes — SELECT (executeQuery), INSERT/UPDATE/DELETE (executeUpdate).
  • Fermeture — méthodes close() pour libérer ressources.

3. 🔬 Fonctions, Mécanismes & Relations

  • Chargement du pilote : Class.forName() → rend le pilote disponible.
  • Établissement connexion : DriverManager.getConnection(url) → objet Connection.
  • Création d’un Statement : connection.createStatement().
  • Exécution SQL :
    • SELECT : executeQuery()ResultSet.
    • INSERT/UPDATE/DELETE : executeUpdate() → nombre de lignes affectées.
  • Parcours du ResultSet :
    • next() pour passer à la ligne suivante.
    • getXXX() pour accéder aux colonnes.
  • Types SQL-Java :
    • CHAR/VARCHAR2 → String
    • NUMERIC/DECIMAL → BigDecimal
    • DATE → java.sql.Date
    • TIMESTAMP → java.sql.Timestamp
  • Fermeture des ressources pour éviter fuite mémoire.

4. Tableau comparatif : Types SQL-Java

ÉlémentCaractéristiques clésNotes / Différences
CHAR / VARCHAR2Chaînes de caractères, longueur fixe ou variableUtiliser getString()
NUMERIC / DECIMALNombres à virgule fixeUtiliser getBigDecimal()
INTEGER / SMALLINTNombres entiersgetInt(), getShort()
BIGINTNombres entiers longsgetLong()
DATEDate sans heuregetDate()
TIMESTAMPDate et heure avec précisiongetTimestamp()
FLOAT / DOUBLENombres à virgule flottantegetDouble()

5. 🗂️ Diagramme Hiérarchique (ASCII)

JDBC Oracle
 ├─ Chargement du pilote
 │   └─ Class.forName()
 ├─ Nommage de la base
 │   └─ URL jdbc
 ├─ Établissement connexion
 │   └─ DriverManager.getConnection()
 ├─ Création d’un Statement
 │   └─ createStatement()
 ├─ Exécution requête SQL
 │   ├─ SELECT → executeQuery()
 │   └─ Mise à jour → executeUpdate()
 ├─ Traitement ResultSet
 │   └─ next(), getXXX()
 └─ Fermeture ressources
     ├─ rs.close()
     ├─ statement.close()
     └─ connection.close()

6. ⚠️ Pièges & Confusions fréquentes

  • Oublier de charger le pilote avec Class.forName().
  • Ne pas fermer les ressources (fuite mémoire).
  • Confusion entre executeQuery() et executeUpdate().
  • Accéder aux colonnes avec le mauvais type (getString() pour un NUMERIC).
  • Oublier de gérer les exceptions SQL.
  • Utiliser une mauvaise URL JDBC ou mot de passe incorrect.
  • Confondre Statement et PreparedStatement.
  • Ne pas respecter la hiérarchie de fermeture (rs, puis statement, puis connection).
  • Ne pas respecter la correspondance SQL-Java pour les types.

7. ✅ Checklist Examen Final

  • Savoir charger le pilote JDBC Oracle.
  • Connaître la structure d’une URL JDBC Oracle.
  • Savoir établir une connexion avec DriverManager.
  • Créer et utiliser un Statement ou PreparedStatement.
  • Différencier executeQuery() et executeUpdate().
  • Parcourir un ResultSet avec next() et accéder aux colonnes.
  • Connaître la correspondance des types SQL-Java.
  • Savoir fermer correctement les ressources.
  • Gérer les exceptions SQL avec try/catch.
  • Comprendre le flux d’exécution d’une requête JDBC.
  • Savoir utiliser PreparedStatement pour paramètres.
  • Connaître les bonnes pratiques pour la gestion des ressources.
  • Maîtriser la syntaxe SQL dans Java (chaîne de caractères).
  • Savoir utiliser DataSource pour plus de flexibilité.
  • Être capable d’écrire un code simple de connexion, requête et déconnexion.

Ce résumé couvre l’essentiel pour maîtriser l’utilisation de JDBC avec Oracle en Java, en vue d’un examen.

Testez vos connaissances

Testez vos connaissances sur Introduction à JDBC avec Java et Oracle avec 10 questions à choix multiples avec corrections détaillées.

1. Quel est le rôle principal de JDBC dans l'utilisation de Java avec une base de données Oracle ?

2. Quelle est la syntaxe correcte pour charger le pilote Oracle JDBC en Java selon le document?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Introduction à JDBC avec Java et Oracle avec 10 flashcards interactives.

JDBC — rôle ?

API Java pour bases de données relationnelles

JDBC — definition?

API Java pour bases relationnelles

URL JDBC Oracle — exemple ?

jdbc:oracle:thin:user/mdp@host:port:service

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches