SlideShare une entreprise Scribd logo
ADO.NET et JPA
Chapitre  ILA PERSISTANCE DES OBJETS 1-introduction 2- le mapping  O/R (objet/relationnel) 3-l’architecture                    JAVA…..ADO.NET 4-la persistance de données                      JAVA…..ADO.NET
Chapitre  ILA PERSISTANCE DES OBJETS 1-introduction plusieurs types de base de données:     Dl1,IMS: Hiérarchique  Mysql:Relationnelle (RDBMS / SGBDR) Objet (ODBMS / SGBDO): db4objects   Xindice:XML (XDBMS)  La seconde catégorie est historiquement la plus répandue mais aussi une des moins compatible avec la programmation orienté objet.
Chapitre  ILA PERSISTANCE DES OBJETS 2-LE MAPPING O/R (objet/relationnel) ,[object Object]
 mettre en oeuvre des actions de type CRUD
Eventuellementpermettrel'héritage des mappings
Proposer un langage de requêtes indépendant de la base de données cible et assurer une traduction en SQL natif
 Supporter différentes formes d'identifiants générés automatiquement par les bases de données (identity, sequence, ...)
 Proposer un support des transactions
Assurer une gestion des accès concurrents (verrou, deadlock, ...) ,[object Object]
Chapitre  ILA PERSISTANCE DES OBJETS 3-L’ARCHITECTURE : 31-l’architecture en java : Dans une architecture en couche: prévoir une couche dédiée aux accès aux données. La couche de persistence  un niveau d'abstraction entre la base de données et l'utilisation qui en est faite.   simplifier la couche métier qui utilise les traitements de cette couche   masquer les traitements réalisés pour mapper les objets dans la base de données et vice et versa  la couche métier ne contient aucune requête SQL, ni code de connexion ou d'accès à la base de données. La couche métier utilise les classes de la couche métier qui encapsulent ces traitements. Ainsi la couche métier manipule uniquement des objets pour les accès à la base de données.
LA PERSISTANCE DES OBJETS 32- l’architecture ado.net : Deux composants d'ADO.NET permettent d'accéder à des données et de les manipuler : Fournisseurs de données .NET Framework Objet DataSet Les Fournisseurs de données .NET Framework  : L'objet Connection assure la connectivité avec une source de données.  L'objet Command permet l'accès aux commandes de base de données pour retourner des données, modifier des données,.  Le DataReader fournit un flux très performant de données en provenance de la source de données.  Enfin, l'objet DataAdapter établit une passerelle entre l'objet DataSet et la source de données. Le DataAdapter utilise les objets Command pour exécuter des commandes SQL au niveau de la source de données afin d'une part de charger le DataSet de données, et d'autre part de répercuter dans la source de données les modifications apportées aux données contenues dans le DataSet. LeDataset ADO.NET est explicitement conçu pour un accès aux données indépendant de toute source de données. Il peut donc être utilisé avec plusieurs sources de données différentes, utilisé avec des données XML ou utilisé pour gérer des données locales de l'application..
LA PERSISTANCE DES OBJETS
LA PERSISTANCE DES OBJETS 4-LA PERSISTANCE DE DONNEES 41-la persistence de données en java: JDBC :  est l'acronyme de Java DataBaseConnectivity. C'est l'API standard pour permettre un accès à une base de données JDO:  est l'acronyme de Java Data Object : le but de cet API est de rendre transparent la persistance d'un objet. Il repose sur l'enrichissement de byte-code à la compilation. JAVA PERSISTANCE API ET EJB3.0: JPA (Java Persistence API) :C'est une synthèse standardisée des meilleurs outils du sujet (Hibernate, Toplink, ...) L'API repose sur ,[object Object]
 un gestionnaire de persistance (EntityManager) qui assure la gestion des entités persistantes
l'utilisationd'annotations
la configuration via des fichiers xmlJPA peut être utilisé avec Java EE dans un serveur d'application mais aussi avec Java SE
LA PERSISTANCE DES OBJETS 42-la persistance de données-ADO.NET :  421- La persistance manuelle (ADO.NET, DataSet, …)   422- La persistance automatique: La persistance automatique est à l’essence du mapping objet/relationnelle. Cette approche consiste à prendre en charge le cycle de vie d’une entité de manière dynamique .L’utilisateur ne se préoccupe à aucun moment de l’état de son entité. La persistance automatique fournit les services suivants : - recherche, sauvegarde, mise à jour - concurrence - cache de 1er niveau et second niveau - navigation - chargement à la demande - transactions (éventuellement)
Chapitre II:JAVA PERSISTANCE API     1- introduction     2- les entites                  le mapping entre le beanentite et la table                  le mapping de propriete complexe                  le mapping d’une entite sur plusieurs tables                  l’utilisation d’objets embarques dans les entites  3- le fichier de configuration du mapping 4-L’UTILISATION DE BEAN ENTITE              l’entity manager             l’obtention d’une instance de la classe EntityManager             l’utilisation de la classe EntityManager   5- le fichier persistence.xml
CHAPITRE II      Java persistance API 1-INTRODUCTION L'API Java Persistence repose sur des entités qui sont de simples POJOs annotés et sur un gestionnaire de ces entités (EntityManager) qui propose des fonctionnalités pour les manipuler (ajout, modification suppression, recherche).  Ce gestionnaire est responsable de la gestion de l'état des entités et de leur persistance dans la base de données. 
CHAPITRE II Java persistance API 2-LES ENTITES Un objet Java de type POJO mappé vers une table de la base de données grâce à des méta data via l'API Java Persistence est nommé bean entité (Entitybean).  la classe du bean doit obligatoirement:      être marquée avec l'annotation @javax.persistence.Entity    Posséder  une propriété déclarer comme clé primaire avec l'annotation @Id Le beanentity est composé de propriétés qui seront mappés sur les champs de la table de la base de données sous jacente. Chaque propriété encapsule les données d'un champ d'une table. Ces propriétés sont utilisables au travers de simple accesseurs (getter/setter).
CHAPITRE II      Java persistance API  21-le mapping entre le bean entité et la table La description du mapping entre le bean entité et la table peut être fait de deux façons :    -Utiliser des annotations     -Utiliser un fichier XML de mapping L'API propose plusieurs annotations pour supporter un mapping O/R assez complet.    @javax.persistence.Table Préciser le nom de la table concernée par le mapping @javax.persistence.Column Associé à un getter, il permet d'associer un champ de la table à la propriété @javax.persistence.Id Associé à un getter, il permet d'associer un champ de la table à la propriété en tant que clé primaire @javax.persistence.GeneratedValue Demander la génération automatique de  la clé primaire au besoin
CHAPITRE II Java persistance API 22-le mapping de proprieté complexe    L'API Java persistence permet de mapper des colonnes qui concernent des données de type plus complexe que les types de base tel que les champs blob ou clob ou des objets. L'annotation @javax.persistence.Lob permet mapper une propriété sur une colonne de type Blob ou Clob selon le type de la propriété :    Blob pour les tableaux de byte ou Byte ou les objets sérializables Clob pour les chaînes de caractères et les tableaux de caractères char ou Char  L'annotation  @javax.persistence.Enumerated permet d'associer une propriété de type énumération à une colonne de la table sous la forme d'un numérique ou d'une chaîne de caractères.
CHAPITRE II Java persistance API 23-le mapping d’une entité sur plusieurs tables Le modèle objet et le modèle relationnel correspondant ne correspondent pas toujours car les critères de conception ne sont pas forcement les même. Ainsi, il est courant d'avoir une entité qui mappe des colonnes de plusieurs tables. L'annotation @javax.persistence.SecondaryTablepermet de préciser qu'une autre table sera utilisée dans le mapping. L'annotation @PrimaryKeyJoinColumn permet de préciser une colonne qui compose la clé primaire de la seconde table et entre dans la jointure avec la première table.
CHAPITRE IIJava persistance API 24-l’utilisation d’objets embarqué dans les entités  L'API Java Persistence permet d'utiliser dans les entités des objets Java qui ne sont pas des entités  mais qui sont agrégés dans l'entité et dont les propriétés seront mappées sur les colonnes correspondantes dans la table. La mise en oeuvre de cette fonctionnalité est similaire à celle utilisée avec l'annotation @EmbeddedId pour les clés primaires composées. La classe embarquée est un simple POJO qui doit être marquée avec l'annotation @javax.persistence.Embeddable
CHAPITRE II Java persistance API 3-LE FICHIER DE CONFIGURATION DE MAPPING est aussi possible de définir le mapping dans un fichier de mapping nommé par défaut orm.xml stocké dans le répertoire META-INF. Ce fichier orm.xml est un fichier au format xml. L'élément racine est le tag <entity-mappings>. Pour chaque entité, il faut utiliser un tag fils <entity>. Ce tag possède deux attributs : Class qui permet  préciser le nom pleinement qualifié de la classe de l'entité  Access qui permet de préciser le type d'accès aux données (PROPERTY pour un accès via les getter/setter ou FIELD pour un accès via les champs).  La déclaration de la clé primaire se fait dans un tag <id> fils d'un tag <attributes>. Ce tag <id> possède un attribut nommé name qui permet de préciser le nom du champ qui est la clé primaire.
CHAPITRE IIJava persistance API 4-L’UTILISATION DE BEAN ENTITE Toutes les actions de persistance sur ces objets sont réalisées grâce à un objet dédié de l'API : l'EntityManager. Un contexte de persistance (persistencecontext) est un ensemble d'entités géré par un EntityManager. 41- l’EntityManager Les interactions entre la base de données et les beans entité sont assurées par un objet de type javax.persistence.EntityManager : il permet de lire et rechercher des données mais aussi de les mettre à jour (ajout, modification, suppression). L'EntityManager est donc au coeur de toutes les actions de persistance. Un EntityManager gère un ensemble défini de beans entité nommé persistence unit. La définition d'un persistence unit est assurée dans un fichier de description nommé persistence.xml.
CHAPITRE II      Java persistance API Cycle de vie d’une entité
CHAPITRE IIJava persistance API 42-l'obtention d'une instance de la classe EntityManager  pour obtenir une instance de type EntityManager, il faut utiliser une fabrique de type EntityManagerFactory. Cette fabrique propose la méthode createEntityManager() pour obtenir une instance. Pour obtenir une instance de la fabrique, il utiliser la méthode statique createEntityManagerFactory() de la classe javax.persistence.Persistence qui attend en paramètre le nom de l'unité de persistence à utiliser. Elle va rechercher le fichier persistence.xml dans le classpath et recherche dans ce fichier l'unité de persistance dont le nom est fourni.
CHAPITRE IIJava persistance API 43- L'utilisation de la classe EntityManager La méthodecontains() La méthode clear() la méthode flush()  des méthodes de mise à jour persist(), merge() et remove() ne réalise pas d'actions immédiates dans la base de données sous jacente. L'exécution de ces actions est à la discrétion de l'EntityManager selon le FlushModeType (AUTO ou COMMIT).
CHAPITRE II      Java persistance API      431- L'utilisation de la classe EntityManager pour la création d'une occurrence Pour insérer une nouvelle entité dans la base de données, il faut :    -Instancier une occurrence de la classe de l'entité  Initialiser  les propriétés de l'entité     -Définir les relations de l'entité avec d'autres entités au besoin      -Utiliser la méthode persist() de l'EntityManageren passant en paramètre l'entité
CHAPITRE IIJava persistance API 432- L'utilisation de la classe EntityManager pour rechercher des occurrences    -La recherche à partir de la clé primaire   -La recherche à partir d'une requête utilisant une syntaxe dédiée   -les méthodes find() et getReference 433- L'utilisation de la classe EntityManager pour rechercher des données par requête createQuery(), createNamedQuery() et.  La méthodesetParameter()
CHAPITRE IIJava persistance API 434- L'utilisation de la classe EntityManager pour modifier une occurrence Pour modifier une entité existante dans la base de données, il faut :  -Obtenir une instance de l'entité à  Modifier les propriétés de l'entité    -il peut être nécessaire d'appeler la méthode flush() explicitement   435- L'utilisation de la classe EntityManager pour fusionner des données  la méthode merge()
CHAPITRE IIJava persistance API  436- L'utilisation de la classe EntityManager pour supprimer une occurrence Pour supprimer une entité existante dans la base de données, il faut :  -Obtenir une instance de l'entité à supprimer   -Appeler la méthode remove() de l'EntityManager  la méthode persist(). 437- L'utilisation de la classe EntityManager pour rafraîchir les données d'une occurrence La méthode refresh()
Java persistance API 5-LE FICHIER PERSISTENCE.XML  Ce fichier persistence.xml contient la configuration    de base pour le mapping notamment en fournissant les informations sur la connexion à la base de données à utiliser.    stocké dans le répertoire META-INF     La racine du document XML du fichier persistence.xml est le tag <persistence >
Java persistance API <persistence <persistence-unit name="ExpoJPA">      <provider> oracle.toplink.essentials.PersistenceProvider      </provider>      <mapping-file>  META-INF/orm.xml   </mapping-file> <class> com.expose.jpa.Personne </class>     <properties> <property                 name="toplink.jdbc.driver“    value="com.mysql.jdbc.Driver" >         </property>         <property                 name="toplink.jdbc.url”  value="jdbc:mysql://localhost:3306/expojpa">         </property>         <property 	name="toplink.jdbc.user" value="root">         </property>      </properties> </persistence-unit> </persistence>
CHAPITRE IIIADO.Net 1-INTRODUCTION En utilisant le .NET, Microsoft propose sa dernière technologie d'accès aux données ADO .Net. C'est une ensemble de classes permettant de récupérer et de manipuler des données et qui fait partie intégrante de la nouvelle plate forme appelée .Net Framework. Nous allons présenter les nouveautés ADO.Net, le modèle ADO.Net ainsi que les objets Connections, Command et DataReader.
CHAPITRE IIIADO.Net 2-Les Avantages de l’ADO.net ,[object Object]
Un meilleur support du mode déconnecté
Un meilleur support de XML,[object Object]
CHAPITRE IIIADO.Net 4-Le Modèle Objet
CHAPITRE II Java persistance API 4-1 Les Objets
CHAPITRE IIIADO.Net 4-1-1 Objet Connection La connectivité à SQL Server est assurée par l'objet SqlConnection de l'espace de noms System.Data.SqlClient. Le Framework .Net propose ainsi des objets de connexion différents en fonction du type de fournisseur de données choisi. Par exemple vous devrez utiliser l'objet OleDbConnection si votre fournisseur est un fournisseur OleDb. L'ouverture d'une connexion est réalisée par la méthode Open() et la fermeture par la méthode Close().
CHAPITRE IIIADO.Net 4-1-2 L’objet Commande La création d'un objet Command nécessite l'instanciation d'un objet SqlCommand. Cet objet expose différentes méthodes Execute à utiliser selon le résultat attendu : La méthode ExecuteReader peut être utilisée pour récupérer un jeu d'enregistrements et retourne un objet DataReader. La méthode ExecuteScalar récupère une valeur unitaire. La méthode ExecuteNonQuery exécute une commande ne retournant pas de lignes.
CHAPITRE IIIADO.Net 4-1-3 L’objet DataReader L'objet DataReader permet de récupérer d'une source de données un flux en lecture seule en avant seulement (readonly, forwardonly). Il résulte de l'exécution de la méthode ExecuteReader sur un objet Command. L'objet DataReader ne stocke en mémoire qu'une seule ligne à la fois, permettant ainsi d'augmenter les performances d'une application et d'en réduire la charge.

Contenu connexe

Tendances

Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockageLilia Sfaxi
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbcKarim Amane
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java Youness Boukouchi
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
Reporting avec JasperServer & iReport
Reporting avec JasperServer & iReportReporting avec JasperServer & iReport
Reporting avec JasperServer & iReportLilia Sfaxi
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfacesbenouini rachid
 

Tendances (14)

Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 
Hibernate
HibernateHibernate
Hibernate
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
Jdbc
JdbcJdbc
Jdbc
 
Introduction à JPA (Java Persistence API )
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
Reporting avec JasperServer & iReport
Reporting avec JasperServer & iReportReporting avec JasperServer & iReport
Reporting avec JasperServer & iReport
 
Java RMI
Java RMIJava RMI
Java RMI
 
Tp l3
Tp l3Tp l3
Tp l3
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
 
Springioc
SpringiocSpringioc
Springioc
 

En vedette

Nuxeo Document Management Fr
Nuxeo Document Management FrNuxeo Document Management Fr
Nuxeo Document Management FrNuxeo
 
Document Management With the Nuxeo Platform
Document Management With the Nuxeo PlatformDocument Management With the Nuxeo Platform
Document Management With the Nuxeo PlatformNuxeo
 
Premier baromètre Hopscotch de l'e-réputation cac40
Premier baromètre Hopscotch de l'e-réputation cac40Premier baromètre Hopscotch de l'e-réputation cac40
Premier baromètre Hopscotch de l'e-réputation cac40Hopscotch
 
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER APD MAROC
 
Relance de la zone côtière centrale (Safi - Skhirat)
Relance de la zone côtière centrale (Safi - Skhirat)Relance de la zone côtière centrale (Safi - Skhirat)
Relance de la zone côtière centrale (Safi - Skhirat)Green Smile
 
La bibliothèque numérique en 3 heures ...
La bibliothèque numérique en 3 heures ...La bibliothèque numérique en 3 heures ...
La bibliothèque numérique en 3 heures ...Sylvain Machefert
 
digitalis xplorer 2015 winter
digitalis xplorer 2015 winterdigitalis xplorer 2015 winter
digitalis xplorer 2015 winterncdigitalis
 
OPEN CAFE #1
OPEN CAFE #1OPEN CAFE #1
OPEN CAFE #1spintank
 
Merzak allouache
Merzak allouacheMerzak allouache
Merzak allouachehegdms0
 
Boostez votre relation avec chaque visiteur de votre site
Boostez votre relation avec chaque visiteur de votre siteBoostez votre relation avec chaque visiteur de votre site
Boostez votre relation avec chaque visiteur de votre siteIgniteStrasbourg
 
Petit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TALPetit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TALAFTAL
 
Le pet expliqué1 (1)
Le pet expliqué1 (1)Le pet expliqué1 (1)
Le pet expliqué1 (1)Albert Antebi
 
Développer votre chiffre d'affaires
Développer votre chiffre d'affairesDévelopper votre chiffre d'affaires
Développer votre chiffre d'affairesIgniteStrasbourg
 

En vedette (19)

Nuxeo Document Management Fr
Nuxeo Document Management FrNuxeo Document Management Fr
Nuxeo Document Management Fr
 
Document Management With the Nuxeo Platform
Document Management With the Nuxeo PlatformDocument Management With the Nuxeo Platform
Document Management With the Nuxeo Platform
 
Livre blanc - GED les meilleures solutions open source
Livre blanc - GED les meilleures solutions open sourceLivre blanc - GED les meilleures solutions open source
Livre blanc - GED les meilleures solutions open source
 
Premier baromètre Hopscotch de l'e-réputation cac40
Premier baromètre Hopscotch de l'e-réputation cac40Premier baromètre Hopscotch de l'e-réputation cac40
Premier baromètre Hopscotch de l'e-réputation cac40
 
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER
APD MAROC FORMATION_ BATIR UNE STRATEGIE EFFICACE POUR CROÎTRE ET DURER
 
Courtes
CourtesCourtes
Courtes
 
Salem Ben Ammar
Salem Ben AmmarSalem Ben Ammar
Salem Ben Ammar
 
Relance de la zone côtière centrale (Safi - Skhirat)
Relance de la zone côtière centrale (Safi - Skhirat)Relance de la zone côtière centrale (Safi - Skhirat)
Relance de la zone côtière centrale (Safi - Skhirat)
 
La bibliothèque numérique en 3 heures ...
La bibliothèque numérique en 3 heures ...La bibliothèque numérique en 3 heures ...
La bibliothèque numérique en 3 heures ...
 
Learning Session 2
Learning Session 2Learning Session 2
Learning Session 2
 
digitalis xplorer 2015 winter
digitalis xplorer 2015 winterdigitalis xplorer 2015 winter
digitalis xplorer 2015 winter
 
FABRICITO
FABRICITOFABRICITO
FABRICITO
 
OPEN CAFE #1
OPEN CAFE #1OPEN CAFE #1
OPEN CAFE #1
 
Merzak allouache
Merzak allouacheMerzak allouache
Merzak allouache
 
Boostez votre relation avec chaque visiteur de votre site
Boostez votre relation avec chaque visiteur de votre siteBoostez votre relation avec chaque visiteur de votre site
Boostez votre relation avec chaque visiteur de votre site
 
Petit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TALPetit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TAL
 
Le pet expliqué1 (1)
Le pet expliqué1 (1)Le pet expliqué1 (1)
Le pet expliqué1 (1)
 
Mandroux
MandrouxMandroux
Mandroux
 
Développer votre chiffre d'affaires
Développer votre chiffre d'affairesDévelopper votre chiffre d'affaires
Développer votre chiffre d'affaires
 

Similaire à Ado.net vs jpa

Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart ClientGuillaume Sauthier
 
Jstl : Java server page Standard Tag Library
Jstl : Java server page Standard Tag LibraryJstl : Java server page Standard Tag Library
Jstl : Java server page Standard Tag LibraryAmeni Ouertani
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfHamdaneAbdelAzizHagg
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementMohamed hedi Abidi
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxsalmachtioui1
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdfYasmineChihab1
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 

Similaire à Ado.net vs jpa (20)

575
575575
575
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Hibernate
HibernateHibernate
Hibernate
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Jpa(1)
Jpa(1)Jpa(1)
Jpa(1)
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart Client
 
Jstl : Java server page Standard Tag Library
Jstl : Java server page Standard Tag LibraryJstl : Java server page Standard Tag Library
Jstl : Java server page Standard Tag Library
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
PHP #6 : mysql
PHP #6 : mysqlPHP #6 : mysql
PHP #6 : mysql
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptx
 
interface graphique mobile.pdf
interface graphique mobile.pdfinterface graphique mobile.pdf
interface graphique mobile.pdf
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 

Dernier

Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Pedago Lu
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Technologia Formation
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesSOLIANAEvelyne
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptxTxaruka
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...zidani2
 
Présentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgériePrésentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgérieSeifTech
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024frizzole
 
Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"tachakourtzineb
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMartin M Flynn
 
Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesHamdConseil
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?sashaflor182
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsTechnologia Formation
 

Dernier (12)

Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptx
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
 
Présentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgériePrésentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en Algérie
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
 
Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
 
Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprises
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 

Ado.net vs jpa

  • 2. Chapitre ILA PERSISTANCE DES OBJETS 1-introduction 2- le mapping O/R (objet/relationnel) 3-l’architecture JAVA…..ADO.NET 4-la persistance de données JAVA…..ADO.NET
  • 3. Chapitre ILA PERSISTANCE DES OBJETS 1-introduction plusieurs types de base de données: Dl1,IMS: Hiérarchique Mysql:Relationnelle (RDBMS / SGBDR) Objet (ODBMS / SGBDO): db4objects Xindice:XML (XDBMS) La seconde catégorie est historiquement la plus répandue mais aussi une des moins compatible avec la programmation orienté objet.
  • 4.
  • 5. mettre en oeuvre des actions de type CRUD
  • 7. Proposer un langage de requêtes indépendant de la base de données cible et assurer une traduction en SQL natif
  • 8. Supporter différentes formes d'identifiants générés automatiquement par les bases de données (identity, sequence, ...)
  • 9. Proposer un support des transactions
  • 10.
  • 11. Chapitre ILA PERSISTANCE DES OBJETS 3-L’ARCHITECTURE : 31-l’architecture en java : Dans une architecture en couche: prévoir une couche dédiée aux accès aux données. La couche de persistence un niveau d'abstraction entre la base de données et l'utilisation qui en est faite. simplifier la couche métier qui utilise les traitements de cette couche masquer les traitements réalisés pour mapper les objets dans la base de données et vice et versa la couche métier ne contient aucune requête SQL, ni code de connexion ou d'accès à la base de données. La couche métier utilise les classes de la couche métier qui encapsulent ces traitements. Ainsi la couche métier manipule uniquement des objets pour les accès à la base de données.
  • 12. LA PERSISTANCE DES OBJETS 32- l’architecture ado.net : Deux composants d'ADO.NET permettent d'accéder à des données et de les manipuler : Fournisseurs de données .NET Framework Objet DataSet Les Fournisseurs de données .NET Framework : L'objet Connection assure la connectivité avec une source de données. L'objet Command permet l'accès aux commandes de base de données pour retourner des données, modifier des données,. Le DataReader fournit un flux très performant de données en provenance de la source de données. Enfin, l'objet DataAdapter établit une passerelle entre l'objet DataSet et la source de données. Le DataAdapter utilise les objets Command pour exécuter des commandes SQL au niveau de la source de données afin d'une part de charger le DataSet de données, et d'autre part de répercuter dans la source de données les modifications apportées aux données contenues dans le DataSet. LeDataset ADO.NET est explicitement conçu pour un accès aux données indépendant de toute source de données. Il peut donc être utilisé avec plusieurs sources de données différentes, utilisé avec des données XML ou utilisé pour gérer des données locales de l'application..
  • 14.
  • 15. un gestionnaire de persistance (EntityManager) qui assure la gestion des entités persistantes
  • 17. la configuration via des fichiers xmlJPA peut être utilisé avec Java EE dans un serveur d'application mais aussi avec Java SE
  • 18. LA PERSISTANCE DES OBJETS 42-la persistance de données-ADO.NET : 421- La persistance manuelle (ADO.NET, DataSet, …)   422- La persistance automatique: La persistance automatique est à l’essence du mapping objet/relationnelle. Cette approche consiste à prendre en charge le cycle de vie d’une entité de manière dynamique .L’utilisateur ne se préoccupe à aucun moment de l’état de son entité. La persistance automatique fournit les services suivants : - recherche, sauvegarde, mise à jour - concurrence - cache de 1er niveau et second niveau - navigation - chargement à la demande - transactions (éventuellement)
  • 19. Chapitre II:JAVA PERSISTANCE API 1- introduction 2- les entites le mapping entre le beanentite et la table le mapping de propriete complexe le mapping d’une entite sur plusieurs tables l’utilisation d’objets embarques dans les entites 3- le fichier de configuration du mapping 4-L’UTILISATION DE BEAN ENTITE l’entity manager l’obtention d’une instance de la classe EntityManager l’utilisation de la classe EntityManager   5- le fichier persistence.xml
  • 20. CHAPITRE II Java persistance API 1-INTRODUCTION L'API Java Persistence repose sur des entités qui sont de simples POJOs annotés et sur un gestionnaire de ces entités (EntityManager) qui propose des fonctionnalités pour les manipuler (ajout, modification suppression, recherche). Ce gestionnaire est responsable de la gestion de l'état des entités et de leur persistance dans la base de données. 
  • 21. CHAPITRE II Java persistance API 2-LES ENTITES Un objet Java de type POJO mappé vers une table de la base de données grâce à des méta data via l'API Java Persistence est nommé bean entité (Entitybean). la classe du bean doit obligatoirement: être marquée avec l'annotation @javax.persistence.Entity Posséder une propriété déclarer comme clé primaire avec l'annotation @Id Le beanentity est composé de propriétés qui seront mappés sur les champs de la table de la base de données sous jacente. Chaque propriété encapsule les données d'un champ d'une table. Ces propriétés sont utilisables au travers de simple accesseurs (getter/setter).
  • 22. CHAPITRE II Java persistance API  21-le mapping entre le bean entité et la table La description du mapping entre le bean entité et la table peut être fait de deux façons : -Utiliser des annotations -Utiliser un fichier XML de mapping L'API propose plusieurs annotations pour supporter un mapping O/R assez complet. @javax.persistence.Table Préciser le nom de la table concernée par le mapping @javax.persistence.Column Associé à un getter, il permet d'associer un champ de la table à la propriété @javax.persistence.Id Associé à un getter, il permet d'associer un champ de la table à la propriété en tant que clé primaire @javax.persistence.GeneratedValue Demander la génération automatique de  la clé primaire au besoin
  • 23. CHAPITRE II Java persistance API 22-le mapping de proprieté complexe L'API Java persistence permet de mapper des colonnes qui concernent des données de type plus complexe que les types de base tel que les champs blob ou clob ou des objets. L'annotation @javax.persistence.Lob permet mapper une propriété sur une colonne de type Blob ou Clob selon le type de la propriété : Blob pour les tableaux de byte ou Byte ou les objets sérializables Clob pour les chaînes de caractères et les tableaux de caractères char ou Char L'annotation  @javax.persistence.Enumerated permet d'associer une propriété de type énumération à une colonne de la table sous la forme d'un numérique ou d'une chaîne de caractères.
  • 24. CHAPITRE II Java persistance API 23-le mapping d’une entité sur plusieurs tables Le modèle objet et le modèle relationnel correspondant ne correspondent pas toujours car les critères de conception ne sont pas forcement les même. Ainsi, il est courant d'avoir une entité qui mappe des colonnes de plusieurs tables. L'annotation @javax.persistence.SecondaryTablepermet de préciser qu'une autre table sera utilisée dans le mapping. L'annotation @PrimaryKeyJoinColumn permet de préciser une colonne qui compose la clé primaire de la seconde table et entre dans la jointure avec la première table.
  • 25. CHAPITRE IIJava persistance API 24-l’utilisation d’objets embarqué dans les entités  L'API Java Persistence permet d'utiliser dans les entités des objets Java qui ne sont pas des entités  mais qui sont agrégés dans l'entité et dont les propriétés seront mappées sur les colonnes correspondantes dans la table. La mise en oeuvre de cette fonctionnalité est similaire à celle utilisée avec l'annotation @EmbeddedId pour les clés primaires composées. La classe embarquée est un simple POJO qui doit être marquée avec l'annotation @javax.persistence.Embeddable
  • 26. CHAPITRE II Java persistance API 3-LE FICHIER DE CONFIGURATION DE MAPPING est aussi possible de définir le mapping dans un fichier de mapping nommé par défaut orm.xml stocké dans le répertoire META-INF. Ce fichier orm.xml est un fichier au format xml. L'élément racine est le tag <entity-mappings>. Pour chaque entité, il faut utiliser un tag fils <entity>. Ce tag possède deux attributs : Class qui permet  préciser le nom pleinement qualifié de la classe de l'entité Access qui permet de préciser le type d'accès aux données (PROPERTY pour un accès via les getter/setter ou FIELD pour un accès via les champs). La déclaration de la clé primaire se fait dans un tag <id> fils d'un tag <attributes>. Ce tag <id> possède un attribut nommé name qui permet de préciser le nom du champ qui est la clé primaire.
  • 27. CHAPITRE IIJava persistance API 4-L’UTILISATION DE BEAN ENTITE Toutes les actions de persistance sur ces objets sont réalisées grâce à un objet dédié de l'API : l'EntityManager. Un contexte de persistance (persistencecontext) est un ensemble d'entités géré par un EntityManager. 41- l’EntityManager Les interactions entre la base de données et les beans entité sont assurées par un objet de type javax.persistence.EntityManager : il permet de lire et rechercher des données mais aussi de les mettre à jour (ajout, modification, suppression). L'EntityManager est donc au coeur de toutes les actions de persistance. Un EntityManager gère un ensemble défini de beans entité nommé persistence unit. La définition d'un persistence unit est assurée dans un fichier de description nommé persistence.xml.
  • 28. CHAPITRE II Java persistance API Cycle de vie d’une entité
  • 29. CHAPITRE IIJava persistance API 42-l'obtention d'une instance de la classe EntityManager pour obtenir une instance de type EntityManager, il faut utiliser une fabrique de type EntityManagerFactory. Cette fabrique propose la méthode createEntityManager() pour obtenir une instance. Pour obtenir une instance de la fabrique, il utiliser la méthode statique createEntityManagerFactory() de la classe javax.persistence.Persistence qui attend en paramètre le nom de l'unité de persistence à utiliser. Elle va rechercher le fichier persistence.xml dans le classpath et recherche dans ce fichier l'unité de persistance dont le nom est fourni.
  • 30. CHAPITRE IIJava persistance API 43- L'utilisation de la classe EntityManager La méthodecontains() La méthode clear() la méthode flush() des méthodes de mise à jour persist(), merge() et remove() ne réalise pas d'actions immédiates dans la base de données sous jacente. L'exécution de ces actions est à la discrétion de l'EntityManager selon le FlushModeType (AUTO ou COMMIT).
  • 31. CHAPITRE II Java persistance API   431- L'utilisation de la classe EntityManager pour la création d'une occurrence Pour insérer une nouvelle entité dans la base de données, il faut : -Instancier une occurrence de la classe de l'entité Initialiser  les propriétés de l'entité -Définir les relations de l'entité avec d'autres entités au besoin -Utiliser la méthode persist() de l'EntityManageren passant en paramètre l'entité
  • 32. CHAPITRE IIJava persistance API 432- L'utilisation de la classe EntityManager pour rechercher des occurrences   -La recherche à partir de la clé primaire -La recherche à partir d'une requête utilisant une syntaxe dédiée -les méthodes find() et getReference 433- L'utilisation de la classe EntityManager pour rechercher des données par requête createQuery(), createNamedQuery() et. La méthodesetParameter()
  • 33. CHAPITRE IIJava persistance API 434- L'utilisation de la classe EntityManager pour modifier une occurrence Pour modifier une entité existante dans la base de données, il faut : -Obtenir une instance de l'entité à Modifier les propriétés de l'entité -il peut être nécessaire d'appeler la méthode flush() explicitement  435- L'utilisation de la classe EntityManager pour fusionner des données la méthode merge()
  • 34. CHAPITRE IIJava persistance API  436- L'utilisation de la classe EntityManager pour supprimer une occurrence Pour supprimer une entité existante dans la base de données, il faut : -Obtenir une instance de l'entité à supprimer -Appeler la méthode remove() de l'EntityManager la méthode persist(). 437- L'utilisation de la classe EntityManager pour rafraîchir les données d'une occurrence La méthode refresh()
  • 35. Java persistance API 5-LE FICHIER PERSISTENCE.XML Ce fichier persistence.xml contient la configuration de base pour le mapping notamment en fournissant les informations sur la connexion à la base de données à utiliser. stocké dans le répertoire META-INF La racine du document XML du fichier persistence.xml est le tag <persistence >
  • 36. Java persistance API <persistence <persistence-unit name="ExpoJPA"> <provider> oracle.toplink.essentials.PersistenceProvider </provider> <mapping-file> META-INF/orm.xml </mapping-file> <class> com.expose.jpa.Personne </class> <properties> <property name="toplink.jdbc.driver“ value="com.mysql.jdbc.Driver" > </property> <property name="toplink.jdbc.url” value="jdbc:mysql://localhost:3306/expojpa"> </property> <property name="toplink.jdbc.user" value="root"> </property> </properties> </persistence-unit> </persistence>
  • 37. CHAPITRE IIIADO.Net 1-INTRODUCTION En utilisant le .NET, Microsoft propose sa dernière technologie d'accès aux données ADO .Net. C'est une ensemble de classes permettant de récupérer et de manipuler des données et qui fait partie intégrante de la nouvelle plate forme appelée .Net Framework. Nous allons présenter les nouveautés ADO.Net, le modèle ADO.Net ainsi que les objets Connections, Command et DataReader.
  • 38.
  • 39. Un meilleur support du mode déconnecté
  • 40.
  • 41. CHAPITRE IIIADO.Net 4-Le Modèle Objet
  • 42. CHAPITRE II Java persistance API 4-1 Les Objets
  • 43. CHAPITRE IIIADO.Net 4-1-1 Objet Connection La connectivité à SQL Server est assurée par l'objet SqlConnection de l'espace de noms System.Data.SqlClient. Le Framework .Net propose ainsi des objets de connexion différents en fonction du type de fournisseur de données choisi. Par exemple vous devrez utiliser l'objet OleDbConnection si votre fournisseur est un fournisseur OleDb. L'ouverture d'une connexion est réalisée par la méthode Open() et la fermeture par la méthode Close().
  • 44. CHAPITRE IIIADO.Net 4-1-2 L’objet Commande La création d'un objet Command nécessite l'instanciation d'un objet SqlCommand. Cet objet expose différentes méthodes Execute à utiliser selon le résultat attendu : La méthode ExecuteReader peut être utilisée pour récupérer un jeu d'enregistrements et retourne un objet DataReader. La méthode ExecuteScalar récupère une valeur unitaire. La méthode ExecuteNonQuery exécute une commande ne retournant pas de lignes.
  • 45. CHAPITRE IIIADO.Net 4-1-3 L’objet DataReader L'objet DataReader permet de récupérer d'une source de données un flux en lecture seule en avant seulement (readonly, forwardonly). Il résulte de l'exécution de la méthode ExecuteReader sur un objet Command. L'objet DataReader ne stocke en mémoire qu'une seule ligne à la fois, permettant ainsi d'augmenter les performances d'une application et d'en réduire la charge.
  • 46. CHAPITRE IIIADO.Net 4-1-4 L’objet DataSet Le Data Set est un objet qui réside en mémoire et qui correspond à une copie locale des données d'une telle base de données. D’abord, il contient les tables d'une base, leurs relations et les contraintes appliquées aux données.
  • 47. CHAPITRE IIIADO.Net 4-1-4-1 Le Modèle Objet d’un DataSet
  • 48. CHAPITRE IIIADO.Net 4-1-4-1-1 La Collection DataTableCollection Cette collection peut contenir de zéro à n objets de type DataTable. Chaque objet DataTable représente une table d'une source de données. Chaque DataTable est constituée d'une collection Columns et d'une collection Rows qui peuvent contenir respectivement de zéro à n objets DataRow et DataColumn
  • 49. CHAPITRE IIIADO.Net 4-1-4-1-2 La Collection DataRelationCollection Cette collection peut contenir de zéro à n objets de type DataRelation. Un objet DataRelation défini une relation parent-enfant entre deux tables à partir des valeurs des clés étrangères.
  • 50. CHAPITRE IIIADO.Net 4-1-4-1-3 La Collection DataAdapter Un objet DataSet doit être capable d'interagir avec une ou plusieurs sources de données. Pour réaliser cette action le Framework Microsoft .Net fournit un objet nommé DataAdapter. L'objet DataAdapter sert de liaison entre un objet DataSet et une source de données.
  • 51. CHAPITRE IIIADO.Net 4-1-4-1-4 La Collection DataAdapter Un objet DataSet doit être capable d'interagir avec une ou plusieurs sources de données. Pour réaliser cette action le Framework Microsoft .Net fournit un objet nommé DataAdapter. L'objet DataAdapter sert de liaison entre un objet DataSet et une source de données.
  • 52. CHAPITRE IIIADO.Net 4-1-4-1-4-1 Les Propriétés du DataAdapter
  • 53. CHAPITRE IIIADO.Net 4-1-4-1-4-2 La fonctionnement du DataAdapter
  • 54. Question et Réponse

Notes de l'éditeur

  1. Une fois la connexion vers une base de données est effectuée, vous pouvez exécuter une requête et récupérer son résultat en utilisant l&apos;objet Command.