Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.