Bases de Données Avancées — JDBC

Connectivité Java vers MySQL et Oracle

Vue d'ensemble du cours

Ce cours présente JDBC (Java Database Connectivity) et les bonnes pratiques de connectivité entre une application Java et un SGBD relationnel. L'objectif est de comprendre et maîtriser le cycle complet : configuration du driver, gestion des connexions, exécution de requêtes SQL, traitement des résultats, transactions, et gestion des erreurs.

Les exemples et manipulations couvrent principalement MySQL et Oracle, en mettant l'accent sur des cas concrets (CRUD, recherche, pagination, transactions) et sur la sécurisation des accès (requêtes paramétrées, gestion des droits, etc.).

Contenus abordés

  • Rappels SQL : SELECT, INSERT, UPDATE, DELETE, jointures, agrégation
  • Architecture d'accès aux données : séparation DAO / service, gestion des couches
  • JDBC Essentials : Driver, URL JDBC, Connection, Statement, PreparedStatement, ResultSet
  • PreparedStatement : requêtes paramétrées, prévention des injections SQL
  • Transactions : auto-commit, commit/rollback, niveaux d'isolation (notions)
  • Gestion des ressources : try-with-resources, fermeture, pooling (notions)
  • Gestion des exceptions : SQLException, codes d'erreur, stratégie de logging
  • Différences MySQL / Oracle : drivers, syntaxe selon les cas, typage, séquences (notions)

MySQL et Oracle : connexion et configuration

URL JDBC (exemples)

  • MySQL : jdbc:mysql://host:3306/nom_base
  • Oracle : jdbc:oracle:thin:@host:1521/nom_service

Le cours détaille la configuration du driver, les paramètres utiles (timezone/SSL selon contexte), et l'organisation des informations sensibles (identifiants/mots de passe) via variables d'environnement ou fichiers de configuration.

Exercices pratiques

TD / TP 1 — JDBC (Java ↔ SGBD)

Premier ensemble d'exercices pratiques pour prendre en main JDBC et réaliser des opérations de base sur MySQL et/ou Oracle.

📄 Télécharger le sujet du TP/TD 1 JDBC (PDF)

📝 Rendre le compte rendu du TP 1 (GitHub Classroom)

TD / TP 2 — JDBC (Java ↔ SGBD)

Deuxième ensemble d'exercices pratiques sur JDBC, avec approfondissement des manipulations MySQL/Oracle et des opérations avancées.

📄 Télécharger le sujet du TP/TD 2 JDBC (PDF)

📝 Rendre le compte rendu du TP 2 (GitHub Classroom)

TD / TP 3 — JDBC (Java ↔ SGBD)

Troisième ensemble d'exercices pratiques sur JDBC : poursuite des manipulations MySQL/Oracle et consolidation des compétences (requêtes, transactions, bonnes pratiques).

📄 Télécharger le sujet du TP/TD 3 JDBC (PDF)

📝 Rendre le compte rendu du TP 3 (GitHub Classroom)

TD / TP 4 — JDBC (schéma et manipulation des données)

Quatrième ensemble d'exercices : révision des compétences de création de schéma et de manipulation des données avec Java et JDBC (MySQL et/ou Oracle).

📄 Télécharger le sujet du TP/TD 4 JDBC (PDF)

📝 Rendre le compte rendu du TP 4 (GitHub Classroom)

D'autres sujets d'exercices (TP 5, etc.) seront ajoutés ici au fur et à mesure.

Objectifs d'apprentissage

  • Mettre en place une connexion JDBC vers MySQL et Oracle
  • Exécuter des requêtes SQL avec PreparedStatement et traiter un ResultSet
  • Gérer correctement les transactions (commit/rollback) et les ressources
  • Structurer une couche d'accès aux données (DAO) de manière maintenable
  • Appliquer des bonnes pratiques de sécurité et de robustesse

← Retour aux Cours