slam4:tp3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:tp3 [2012/09/25 01:54] – [Enumération RecordStatus] jcheronslam4:tp3 [2024/10/10 20:13] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 47.128.17.115
Ligne 1: Ligne 1:
 ====== Accès aux bases de données ====== ====== Accès aux bases de données ======
 +
 +<html>
 +<div class="info">
 +Modalités :
 +<ul><li>1 étudiant implémente "au tableau"</li>
 +<li>Implémentation en solo</li>
 +</ul></div></html>
 +===== Activités du référentiel concernées : =====
 +
 +  * D4.1 - Conception et réalisation d’une solution applicative
 +
 +
 ===== Contexte ===== ===== Contexte =====
 Il s'agit du même contexte que dans le TP précédent, il est question cette fois de s'intéresser à la persistance des données : utilisateurs et groupes.\\ Il s'agit du même contexte que dans le TP précédent, il est question cette fois de s'intéresser à la persistance des données : utilisateurs et groupes.\\
Ligne 5: Ligne 17:
  
 ===== Contraintes fonctionnelles ===== ===== Contraintes fonctionnelles =====
-L'application Web doit charger à sont démarrage les utilisateurs, puis les groupes, en répartissant les utilisateurs dans leurs groupes respectifs.\\+L'application Web doit charger à son démarrage les utilisateurs, puis les groupes, en répartissant les utilisateurs dans leurs groupes respectifs.\\
 A la fermeture de l'application, ou à la demande, les objets (utilisateurs et groupes) sont mis à jour dans la base de données (ajout, modification, suppression). A la fermeture de l'application, ou à la demande, les objets (utilisateurs et groupes) sont mis à jour dans la base de données (ajout, modification, suppression).
  
Ligne 20: Ligne 32:
  
 ===== Missions ===== ===== Missions =====
-  * Créer la base de données nommée **mUsers**, et saisissez des données de test+  * Créer la base de données nommée **gUsers**, et saisissez des données de test
   * Créer les classes d'accès aux bases de données et à Mysql (**Db** et **DbMysql**)   * Créer les classes d'accès aux bases de données et à Mysql (**Db** et **DbMysql**)
   * Créer l'énumération RecordStatus et ajouter le membre recordStatus dans la classe Bo, mettre à jour les méthodes devant modifier le recordStatus   * Créer l'énumération RecordStatus et ajouter le membre recordStatus dans la classe Bo, mettre à jour les méthodes devant modifier le recordStatus
Ligne 27: Ligne 39:
  
 ===== Annexes ===== ===== Annexes =====
 +Consuter le document [[sio:bloc2:poo:db|Accès aux bases de données en java]]
 ==== Classes d'accès aux données ==== ==== Classes d'accès aux données ====
 +{{:slam4:p-net-db.png}}
 <code java |h Db.java> <code java |h Db.java>
 package net.db; package net.db;
Ligne 38: Ligne 50:
 import java.sql.Statement; import java.sql.Statement;
  
 +/**
 + * Représente une connexion à une base de données
 + * @author jc
 + *
 + */
 public abstract class Db { public abstract class Db {
  protected Connection connection;  protected Connection connection;
Ligne 117: Ligne 134:
 package net.db; package net.db;
  
 +/**
 + * Représente une connexion à une base de données Mysql
 + * @author jc
 + *
 + */
 public class DbMysql extends Db { public class DbMysql extends Db {
  
Ligne 130: Ligne 152:
 </code> </code>
 ==== Enumération RecordStatus ==== ==== Enumération RecordStatus ====
- +{{:slam4:p-net-bo.png}}
-{{:slam4:p-net-db.png?200|{{:slam4:p-net-db.png}}}} +
 <code java |h RecordStatus.java> <code java |h RecordStatus.java>
 package net.bo; package net.bo;
  
 +/**
 + * Enumération des statuts d'un objet permettant ensuite sa sérialistion en BDD
 + * @author jc
 + *
 + */
 public enum RecordStatus { public enum RecordStatus {
  rsNone(""),rsDelete("supprimé"),rsNew("ajouté"),rsUpdate("modifié");  rsNone(""),rsDelete("supprimé"),rsNew("ajouté"),rsUpdate("modifié");
Ligne 147: Ligne 172:
 } }
 </code> </code>
- 
 ==== Classe passerelle ==== ==== Classe passerelle ====
 +{{:slam4:p-net-technics.png}}
 <code java |h DbGateway.java> <code java |h DbGateway.java>
 package net.technics; package net.technics;
Ligne 157: Ligne 181:
 import net.bo.Groupe; import net.bo.Groupe;
 import net.bo.Utilisateur; import net.bo.Utilisateur;
 +import net.db.Db;
  
 +/**
 + * Classe passerelle entre le modèle objet et la base de données
 + * @author jc
 + *
 + */
 public class DbGateway { public class DbGateway {
 +
 + /**
 + * Retourne une connexion disponible à la base de données
 + * @return Connexion disponible à la BDD
 + */
 + public static Db getDb(){
 + // TODO à implémenter;
 + return null;
 + }
  /**  /**
  * charge les utilisateurs depuis la connection à la base de données de l'application  * charge les utilisateurs depuis la connection à la base de données de l'application
Ligne 171: Ligne 210:
  * @return Hashmap des groupes  * @return Hashmap des groupes
  */  */
- public static HashMap<String, Groupe> getComptes(){+ public static HashMap<String, Groupe> getGroupes(){
  // TODO à implémenter;  // TODO à implémenter;
  return null;  return null;
Ligne 180: Ligne 219:
  */  */
  public static void allocateUsers(){  public static void allocateUsers(){
- // TODO à implémenter; + // TODO à implémenter; 
 +
 +  
 + /** 
 + * Met à jour dans la base de données db l'utilisateur passé en paramètre 
 + * en utilisant son membre recordStatus 
 + * @param user utilisateur à mettre à jour 
 + * @param db connexion à la base de données 
 + */ 
 + public static void updateOneUser(Utilisateur user,Db db){ 
 + // TODO à implémenter;
  }  }
  
  /**  /**
- * Met à jour la hashMap des utilisateurs passée en paramètre dans la base de données+ * Met à jour dans la base de données db le groupe passé en paramètre 
 + * en utilisant son membre recordStatus 
 + * @param group groupe à mettre à jour 
 + * @param db connexion à la base de données 
 + */ 
 + public static void updateOneGroup(Groupe group,Db db){ 
 + // TODO à implémenter; 
 +
 + /** 
 + * Met à jour dans la base de données la hashMap des utilisateurs passée en paramètre
  * en utilisant le membre recordStatus de chaque objet  * en utilisant le membre recordStatus de chaque objet
  * @param users hashMap des utilisateurs  * @param users hashMap des utilisateurs
  */  */
  public static void updateUsers(HashMap<String, Utilisateur> users){  public static void updateUsers(HashMap<String, Utilisateur> users){
- // TODO à implémenter; + // TODO à implémenter;
  }  }
  
  /**  /**
- * Met à jour la hashMap des groupes passée en paramètre dans la base de données+ * Met à jour dans la base de données la hashMap des groupes passée en paramètre
  * en utilisant le membre recordStatus de chaque objet  * en utilisant le membre recordStatus de chaque objet
  * @param groupes hashMap des groupes  * @param groupes hashMap des groupes
  */  */
- public static void updateComptes(HashMap<String, Groupe> groupes){ + public static void updateGroupes(HashMap<String, Groupe> groupes){ 
- // TODO à implémenter; + // TODO à implémenter;
  }  }
 } }
 +
 </code> </code>
  • slam4/tp3.1348530890.txt.gz
  • Dernière modification : il y a 5 ans
  • (modification externe)