La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Récupération des objets métier

Présentations similaires


Présentation au sujet: "Récupération des objets métier"— Transcription de la présentation:

1 Récupération des objets métier
Enterprise Object Framework II

2 Accès à la base de données avec EOF
L ’abstraction par rapport à la base pas de requête SQL à écrire les résultats obtenus sont des objets

3 Récupérer les objets Le projet doit contenir un EOModel
Les objets de type « EOFetchSpecification » permettent de spécifier les objets à récupérer L ’objet de type EOEditingContext se charge de récupérer les objets Les objets sont récupérés dans un NSArray

4 Récupérer les objets « Tous les étudiants dont le nom
:EOEditingContext :EOFetchSpecification « Tous les étudiants dont le nom commence par `d` » Marc:Etudiant nom=« Dupont » prenom=« Marc » Paul:Etudiant nom=« Durand » prenom=« Paul » :NSArray EOF DB

5 EOFetchSpecification

6 EOFetchSpecification
:EOQualifier :EOFetchSpecification entityName=``Etudiant`` qualifier= sortOrderings= :NSArray :EOSortOrdeing :EOSortOrdering

7 dans le code... Récupérer toutes les lignes de la table étudiant
EOFetchSpecification spec = new EOFetchSpecification(``Etudiant``,null,null); Récupérer tous les étudiants dont le nom commence par `d` EOQualifier qual = EOQualifier.qualifierWithQualifierFormat("nom like `d*`",null); EOFetchSpecification spec = new EOFetchSpecification(``Etudiant``,qual,null);

8 ...dans le code... Récupérer tous les étudiants dont le nom commence par `d` et dont le tuteur est Rossi NSMutableArray args = new NSMutableArray(); args.addObject("d*"); args.addObject("Rossi"); EOQualifier qual = EOQualifier.qualifierWithQualifierFormat ("nom like AND tuteur.nom = EOFetchSpecification spec = new EOFetchSpecification(``Etudiant``,qual,null);

9 EOSortOrdering :EOFetchSpecification entityName=``Etudiant``
qualifier= sortOrderings= :NSArray :EOSortOrdering key= "nom" selector=CompareAscending :EOSortOrdering key=  "age" selector=CompareDescending

10 ...dans le code... Récupérer tous les étudiants dont le nom commence par `d`, dont le tuteur est Rossi ; les résultats doivent être classés dans l ’ordre alphabétique des noms, si des étudiants ont le même nom, les classer du plus vieux au plus jeune NSMutableArray orderings = new NSMutableArray(); EOSortOrdering sortOrd1 = new EOSortOrdering ("nom",CompareAscending); EOSortOrdering sortOrd2 = new EOSortOrdering ("age",CompareDescending); orderings.addObject(sortOrd1); orderings.addObject(sortOrd2);

11 ...dans le code... NSMutableArray args = new NSMutableArray();
args.addObject("d*"); args.addObject("Rossi"); EOQualifier qual = EOQualifier.qualifierWithQualifierFormat ("nom like AND tuteur.nom = EOFetchSpecification spec = new EOFetchSpecification (``Etudiant``,qual,orderings);

12 EOEditingContext Sait récupérer les objets métiers à partir d ’une EOFetchSpecification Est le gardien du graphe d ’objets métier récupérés : Observe et enregistre toutes les modifications sur les objets métiers récupérés Sait sauvegarder ou annuler les changements effectués sur les objets métiers récupérés

13 EOEditingContext Chaque session dispose d ’un EOEditingContext par défaut EOEditingContext ec = session().defaultEditingContext();

14 ...dans le code. ... EOFetchSpecification spec = new EOFetchSpecification (``Etudiant``,qual,sortOrderings); EOEditingContext ec = session().defaultEditingContext(); NSArray resultats = ec.objectsWithFetchSpecification(spec);

15 ...dans le code. Le tableau « resultats » contient des objets ! ...
EOFetchSpecification spec = new EOFetchSpecification (``Etudiant``,qual,sortOrderings); EOEditingContext ec = session().defaultEditingContext(); NSArray resultats = ec.objectsWithFetchSpecification(spec); Le tableau « resultats » contient des objets !

16 EOUtilities La classe EOUtilities offre des méthodes statiques pour simplifier la mise en œuvre de récupérations simples Les méthodes de EOUtilities ne permettent pas l ’utilisation de EOSortOrderings Les méthodes de EOUtilities reçoivent toujours en premier argument un EOEditingContext

17 Dans le code EOEditingContext ec = session().defaultEditingContext();
NSArray resultats; resultats = EOUtilities.objectsForEntityNamed(ec," Etudiant "); resultats= EOUtilities.objectsMatchingKeyAndValue (ec," Etudiant ", "tuteur.nom", "Rossi"); Etudiant etud = (Etudiant)objectMatchingKeyAndValue (ec," Etudiant ", "numeroInscription", "IU4065A");

18 EOFetchSpecification avec EOModeler

19 EOFetchSpecification avec EOModeler
Ensuite dans le code EOEditingContext ec = session().defaultEditingContext(); NSArray resultats; NSMutableDictionary bindings = new NSMutableDictionary(); bindings.setObjectForKey("Rossi", "nom"); resultats = EOUtilities.objectsWithFetchSpecificationAndBindings (ec, "Etudiant", "EtudiantParNomEtParTuteur",bindings);

20 Récupération des objets métier
Enterprise Object Framework II


Télécharger ppt "Récupération des objets métier"

Présentations similaires


Annonces Google