Académique Documents
Professionnel Documents
Culture Documents
de gestion de Sfax
Objectifs du TP :
L’objectif de ce TP est de vous familiariser avec la lecture et l’écriture dans une bases de
données relationnelles à partir de programmes JAVA.
Exercice :
Nous nous proposons d’écrire un programme java qui permet de gérer les absences des
étudiants dans les séances du cours POO Avancée. Ce programme doit communiquer avec
une base de données relationnelle gérée par Oracle (ou MySQL). La structure de la base de
données est la suivante :
1
Partie1 :
1. Téléchargez le script "OracleBDAbsences.sql" ("MySQLBDAbsences.sql" pour ceux
qui utilisent oracle) que vous trouvez sur la plateforme de l’UVT. Ce script permet de
créer les tables de la base de données dont la structure est donnée par la Figure 1 ci-
dessus.
2. Lancez le serveur de données. Créer éventuellement la base de données, puis
importez et exécutez le script .sql.
3. Créez un projet dans Eclipse que vous nommez "GestionAbsences". Ajoutez un pilote
JDBC adéquat à votre projet.
4. Ajoutez dans ce projet un package "entites" et définissez-y les classes du diagramme
de la Figure 2 suivante.
NB. : Vous pouvez ajouter à votre projet tout ce que vous jugez nécessaire pour le bon
fonctionnement de l’application.
Partie2 :
NB. :
• Utilisez partout des requêtes paramétrées.
• Toute exception SQLException doit être capturée et une boite de dialogue doit
être affichée à l’écran expliquant la cause de l’exception. L’instruction
permettant l’affichage d’une boite de dialogue est la suivante :
2
Figure 3. Spécification des classes SConnection, EtudiantDao et SeanceDao.
La classe SConnection décrit les paramètres d’une connexion à une base de données
relationnelle, représentés par les attributs statiques : url, utilisateur, mdp et cnx. Cette
classe offre les services suivants :
• la méthode Connection getInstance() : elle permet d’établir une nouvelle
connexion à cnx, si celle-ci n’existe pas déjà ou si elle est fermée ;
• la méthode void close() : elle permet de fermer la connexion cnx ouverte.
Par ailleurs, la classe EtudiantDao offre les services suivants :
• la méthode Etudiant findByMatricule(String mat) : elle cherche dans la table
Etudiant et retourne l’étudiant ayant le matricule donné en paramètre. Si elle ne
le trouve pas, elle renvoie null.
• la méthode void save (Etudiant e) : elle ajoute l’étudiant e à la table Etudiant.
• la méthode Collection<Etudiant> findAll() : elle renvoie une collection de tous
les étudiants de la table Etudiant.
Les méthodes de la classe SeanceDao sont :
3
Partie3 :
1. En vous aidant de la Figure 4, définissez dans le même package ‘’accesBD’’ la classe
AbsenceDao.