Retour au cours

Semaines 4-5 : CRUD

Créer, lire, mettre à jour, supprimer : le cycle de vie complet de la donnée dans une application transactionnelle

Objectifs des semaines 4 et 5

À la fin de ces deux semaines, vous saurez écrire les quatre requêtes SQL du CRUD (INSERT, SELECT, UPDATE, DELETE), brancher le pilote JDBC dans un projet Java, partager une seule connexion grâce au singleton BaseDeDonnees, et programmer un DAO complet avec ses fonctions de lecture (lister, détailler) et d'écriture (ajouter, éditer, effacer), d'abord avec Statement, ensuite avec PreparedStatement.

Déroulement

  1. Les quatre requêtes : INSERT, SELECT, UPDATE et DELETE, à essayer d'abord dans pgAdmin sur la base confiserie de la semaine 1.
  2. Brancher le pilote : déposer postgresql-42.7.1.jar dans un répertoire lib du projet, puis Refresh et Add to build path dans Eclipse.
  3. Une seule connexion : la classe BaseDeDonnees en singleton, que tous les DAO appellent avec BaseDeDonnees.getInstance().getConnexion().
  4. Programmer le DAO : lister, détailler, ajouter, éditer, effacer, avec Statement et des requêtes SQL assemblées à la main.
  5. Protéger les valeurs : passer à PreparedStatement, où chaque valeur remplace un ? de la requête, sur le modèle de RobotDAO.java.

Les quatre requêtes en un coup d'oeil

Le CRUD dans le langage SQL : une commande par lettre. Les valeurs texte sont entourées de quotes simples, les nombres peuvent s'en passer.

CCreate = INSERT
INSERT INTO chocolat(nom, description, cacao)
VALUES('Nougat noir', 'Presque illégal', 0.8);
RRead = SELECT
SELECT id, nom, cacao
FROM chocolat
WHERE cacao > 0.7;
UUpdate = UPDATE
UPDATE chocolat
SET nom = 'Nougat illégal', cacao = 0.85
WHERE id = 10;
DDelete = DELETE
DELETE FROM chocolat
WHERE id = 10;
Le SELECT choisit les colonnes, le WHERE choisit les rangées. Sans WHERE, un UPDATE ou un DELETE touche toute la table : relisez deux fois avant d'exécuter.

Notes de cours

Les diaporamas des semaines 4 et 5, en version web (diapositives d'origine, exactes) et en PDF :

Utiliser le pilote 6 diapositives - le .jar PostgreSQL dans le projet Eclipse
Programmer un DAO 20 diapositives - lecture, écriture, sans les requêtes préparées
Définir une clé étrangère 5 diapositives - avec l'outil graphique de pgAdmin ou en SQL, ON DELETE CASCADE
Navigation contextuelle et multiplicité Lier les données
Présenter des données imbriquées Afficher les informations complexes
La série SQL Semaines 4-5 : 2 diaporamas sur les 10 de la série

Voir toute la série SQL

Ressources

Exemples de DAO

ChocolatDAO.java (CRUD avec Statement) RobotDAO.java (CRUD avec PreparedStatement) BaseDeDonnees.java (singleton de connexion) Code DAO : le singleton BaseDeDonnees (Diaporama web) Code DAO : le singleton BaseDeDonnees (Diaporama PDF)

Le projet Confiserie

Projet Confiserie CRUD, connexion dans le DAO CRUD, avec le singleton BaseDeDonnees

Les projets Marina et Armada

Projet Marina Point de départ (flottes et bateaux, DAO à programmer) Historique des commits sur GitHub Armada.zip (point de départ du Projet Armada : escadrons et vaisseaux)

Outils et liens

Navigation dans les pages de données liées (PDF) Pilote JDBC PostgreSQL 42.7.1 Tutoriel : installer PostgreSQL sous Linux Drive des semaines 4-5

Évaluations en cours

Le Contrat Auteurs (15 %) se poursuit : la livraison SQL, où vous programmez la base de données du journal, est attendue le 11 octobre 2026. Le Projet Armada (25 %, semaines 4 à 7) sera présenté sur sa propre page.

Tout ce que vous apprenez ces deux semaines sert directement la livraison SQL du contrat : les tables, les INSERT et le DAO qui lit vos données.
Page du Contrat Auteurs Présentation Contrat Auteurs (version web)