Retour au cours

Semaine 1 : Accès aux données (DAO)

Comment une application parle à sa base de données

Objectifs de la semaine

À la fin de cette semaine, vous saurez créer une table avec sa clé primaire, importer un fichier .sql dans PostgreSQL, brancher un programme Java sur la base avec le pilote JDBC, et écrire votre premier objet d'accès aux données (DAO).

Déroulement du cours

  1. Créer une table et sa clé primaire : la brique de base d'une base de données relationnelle.
  2. Importer un fichier .sql : monter la base confiserie à partir du script fourni.
  3. Utiliser le pilote : ajouter le pilote JDBC PostgreSQL au projet Java et ouvrir une connexion.
  4. Programmer un DAO : isoler l'accès aux données dans une classe dédiée, comme le veut la bonne architecture.

Premier contact : se connecter et interroger

Le squelette minimal d'une connexion JDBC vers la base confiserie :

Class.forName("org.postgresql.Driver");
Connection connexion = DriverManager.getConnection(
        "jdbc:postgresql://localhost:5433/confiserie",
        "postgres", "testtest");

Statement requete = connexion.createStatement();
ResultSet curseur = requete.executeQuery("SELECT * FROM chocolat");

while (curseur.next()) {
    System.out.println("Nom : " + curseur.getString("nom"));
}

L'exemple complet est dans les ressources (CodeRequeteSQL.java), ainsi qu'un DAO complet à étudier (RobotDAO.java).

Énoncé : votre première confiserie branchée

  1. Monter la base : téléchargez Confiserie.zip, créez la base confiserie dans PostgreSQL et importez le script .sql fourni.
  2. Brancher Java : créez un projet Java, ajoutez le pilote postgresql-42.7.1.jar au chemin de compilation, puis reproduisez le premier contact ci-dessus : affichez tous les chocolats dans la console.
  3. Écrire votre DAO : en vous inspirant de RobotDAO.java, écrivez une classe ChocolatDAO avec une méthode listerChocolats() qui retourne la liste des chocolats sous forme d'objets.
  4. Défi bonus : ajoutez trouverChocolatParId(int id) avec un PreparedStatement.

Remise : votre code source et une capture d'écran de la console. Les modalités précises (plateforme et date) seront annoncées en classe.

Ressources

Confiserie.zip (base et projet) Pilote JDBC PostgreSQL 42.7.1 CodeRequeteSQL.java (exemple) RobotDAO.java (DAO complet) Tutoriel : installer PostgreSQL sous Linux Plan de cours Drive de la semaine 1 Discord du cours

Évaluation : le Labo Laborathèque (10%)

L'atelier Capsules évalué de la semaine 1, dans son espace dédié : réalisé en classe le 25 août 2026, à remettre le 1er septembre 2026. Projet de départ, présentation web et liens de démarrage vous y attendent.

Page de l'atelier Laborathèque Présentation Labora-Thèque (version web) Laboratheque.zip (projet de départ) Drive de l'activité