SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Présentation de frameworks J2EE



          HIBERNATE ET JSF




              LIU Sizhao LUO Xin MALICK MANDENGUE Serge   1
Sommaire

A. Hibernate (Persistance)
B. JSF (MVC)
C. Cas d’étude




         LIU Sizhao LUO Xin MALICK MANDENGUE Serge   2
Hibernate

 Qu’est-ce qu’Hibernate ?
 Objectifs d’Hibernate
 Avantages et inconvénients
 Configuration d’Hibernate




         LIU Sizhao LUO Xin MALICK MANDENGUE Serge   3
Qu’est-ce qu’Hibernate ?

 C’est un logiciel, écrit en java, qui permet de
  faire le mapping entre Objets Java et Objets
  stockés en base relationnelle en assurant la
  persistance.
 S’occupe du transfert des classes Java dans
 les tables de la BDD et des types de données
 dans les types de données SQL.
 http://www.hibernate.org/


          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   4
Objectifs d’Hibernate

 Réduire le temps de développement de l'application en
  éliminant une grande partie du code SQL à écrire pour
  interagir avec la base de données et en encapsulant le
  code SQL résiduel.
 Les développeurs manipulent les classes dont les
  données doivent être persistantes comme des classes
  Java normales.
 Seules une initialisation correcte d‘Hibernate doit être
  effectuée, et quelques règles respectées lors de l'écriture
  et de la manipulation des classes persistantes.


            LIU Sizhao LUO Xin MALICK MANDENGUE Serge           5
Avantages et inconvénients

 Les objets métiers sont plus faciles à manipuler
 Peu de dépendance envers une base de données
  précise
 Théoriquement, il n'y a que le fichier de
  configuration à changer si on passe d'une base
  de données comme Oracle vers PostgreSQL
 Le seul inconvénient que l'on peut trouver à
  Hibernate est qu'il nécessite d'apprendre à
  l'utiliser

          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   6
Configuration d’Hibernate

 Hibernate permet de manipuler facilement les objets
  persistants mais demande une configuration rigoureuse.
 Nous verrons ici deux façons de configurer l'accès à la
  base de données. Ces fichiers définissent les propriétés
  de la connexion. Il s'agit des fichiers hibernate.properties
  et hibernate.cfg.xml.
 Nous utilisons ce fichier de la configuration pour
  configurer les informations du BDD et les informations
  du mapping.



            LIU Sizhao LUO Xin MALICK MANDENGUE Serge            7
JSF (Java Server Faces)

 Qu’est-ce que JSF ?
 Objectifs de JSF
 Meilleur que Struts
 Qu’est-ce qu’une application JSF ?
 Configuration d’une application JSF




         LIU Sizhao LUO Xin MALICK MANDENGUE Serge   8
Qu’est-ce que JSF ?

 Framework de développement d’application
 web en Java permettant de respecter le
 modèle d’architecture MVC et basé sur des
 composants côté présentation
 Site de référence:
  http://java.sun.com/javaee/javaserverfaces
 2 implémentations JSF (Sun, Apache)
 Version 1.1 associée à J2EE 1.4
 Version 1.2 associée à Java EE 5
         LIU Sizhao LUO Xin MALICK MANDENGUE Serge   9
Objectifs de JSF

 une séparation de la couche présentation des
  autres couches (MVC)
 un mapping entre l’HTML et l’objet
 un ensemble de composants riches et
  réutilisables
 une liaison simple entre les actions côté client
  de l’utilisateur (event listener) et le code Java
  côté serveur
 JSF peut être utilisé pour générer autre chose
  que du HTML (XUL, XML, WML, …)
          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   10
Meilleur que Struts …

 Composants extensibles – JSF fournit plein de
  composants fondamentaux pour développer des
  nouveaux composants et on peut les participer aux
  autres
 Managed-Beans (Dependency Injection) – JSF peut créer
  des managed beans variés
 POJO Action Méthods – les actions du Struts sont
  attachées avec les API du Struts, mais les actions du JSF
  peuvent réaliser dans POJO
 JSF est le critère – Struts est un produit opensource, mais
  JSF est le critère

            LIU Sizhao LUO Xin MALICK MANDENGUE Serge           11
Comment ça marche ?

  L’interface utilisateur construite dans la page
   JSP est générée à l’aide de la technologie JSF
   (résultat myUI)
  Elle fonctionne sur le serveur et le rendu est
   retourné au client.




          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   12
Configuration d’une
application JSF
 Configurer le fichier web.xml
  (javax.faces.webapp.FacesServlet)
 Spécifier le nom et le chemin du fichier de
  configuration
  (javax.faces.application.CONFIG_FILES)
 Spécifie où l’état de l’application doit être
  sauvé
  (javax.faces.STATE_SAVING_METHOD)
 Valider ou pas les fichiers XML
  (com.sun.faces.validateXml)
          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   13
Configuration d’une
application JSF
 Indiquer si les objets importants doivent être
  crées au démarrage de
  l‘application(com.sun.faces.verifyObjects)




          LIU Sizhao LUO Xin MALICK MANDENGUE Serge   14
Cas d’étude

1. Sujet
2. Création de la base de données
3. Configuration des frameworks
4. Gestion des classes
5. Résultat final




           LIU Sizhao LUO Xin MALICK MANDENGUE Serge   15
Sujet

 Logiciel de gestion de contacts en ligne
   (nom, prénom, num tél, mail, …)
 Cas d’utilisations volontairement simples :
   concentration sur les technologies
   à vous d’être originaux sur la réalisation
 Deux acteurs :
   l'administrateur qui va gérer la liste des utilisateurs et
    les mots de passe (ajout, suppression, init mot de
    passe, stats...)
   l'utilisateur qui va gérer ses contacts
    (ajout, suppression, affichage, recherche, nb
    contacts...)
            LIU Sizhao LUO Xin MALICK MANDENGUE Serge            16
Sujet : Uses cases




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   17
Création de la base de
données

 2 tables: Contacts et Utilisateurs
 Contacts
  (Id, Nom, Prénom, Adresse, Tel, Mail, Id_user)
 Utilisateurs (Id, Nom, motdepasse, statut)




         LIU Sizhao LUO Xin MALICK MANDENGUE Serge   18
Configurations:
Hibernate.cfg.xml
   <hibernate-configuration>
    <session-factory >


                                <!-- local connection properties -->
                                <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
                                <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
                                <property name="hibernate.connection.username">root</property>
                                <property name="hibernate.connection.password"></property>
                                <!-- property name="hibernate.connection.pool_size"></property -->


                                <!-- dialect for MySQL -->
      <property name="current_session_context_class">thread</property>
      <property name="dialect">org.hibernate.dialect.MySQLDialect</property>


      <property name="hibernate.show_sql">false</property>
      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
      <mapping resource="Utilisateurs.hbm.xml" />
      <mapping resource="Contacts.hbm.xml" />
    </session-factory>
   </hibernate-configuration>



                          LIU Sizhao LUO Xin MALICK MANDENGUE Serge                                                       19
Configurations:
Contacts.hbm.xml
   <hibernate-mapping package="CasEtude">
              <class
                                name="Contacts"
                                table="contacts"
              >
                                <meta attribute="sync-DAO">false</meta>
                                <id
                                                   name="Id"
                                                   type="integer"
                                                   column="id"
                                >
                                                   <generator class="native"/>
                                </id>


                                <property
                                                   name="Nom"
                                                   column="nom"
                                                   type="string"
                                                   not-null="true"
                                                   length="10"

   />
   ……
   </class>
   </hibernate-mapping>


                             LIU Sizhao LUO Xin MALICK MANDENGUE Serge            20
Configurations:
Utilisateurs.hbm.xml
   <hibernate-mapping package="CasEtude">
              <class
                          name="Utilisateurs"
                          table="utilisateurs"
              >
                          <meta attribute="sync-DAO">false</meta>
                          <id
                                          name="Id"
                                          type="integer"
                                          column="id"
                          >
                                          <generator class="native"/>
                          </id>
   …
   </class>
   </hibernate-mapping>




                        LIU Sizhao LUO Xin MALICK MANDENGUE Serge        21
Classes Java

 1 fichier hibernateutil.java
 Pour Contact et Utilisateurs
   1 fichier xxx.java
       Mapping du tableau
   1 fichier xxxAction.java
       Classe fonctionnelle
   1 fichier xxxBean.java
       Managed Bean


           LIU Sizhao LUO Xin MALICK MANDENGUE Serge   22
Fichier HibernateUtil.java
   public class HibernateUtil {
   private static final SessionFactory sessionFactory;      static {
     try {
     // Crée l’objet SessionFactory à partir de hibernate.cfg.xml
     sessionFactory = new Configuration().configure().buildSessionFactory();   }
        catch (HibernateException ex) {
     System.err.println("Initial SessionFactory creation failed." + ex);
           throw new HibernateException(ex);
     }
     }
     public static SessionFactory getSessionFactory() {
     return sessionFactory;         }
     }




                     LIU Sizhao LUO Xin MALICK MANDENGUE Serge                      23
Page de connexion




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   24
Côté Administrateur




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   25
Administration: Ajout d’un
contact




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   26
Côté Utilisateur




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   27
Utilisateur: Ajout d’un
contact




      LIU Sizhao LUO Xin MALICK MANDENGUE Serge   28
Fin de la présentation


       Merci!
        Auteurs
      LIU Sizhao
        LUO Xin
MALICK MANDENGUE Serge

  LIU Sizhao LUO Xin MALICK MANDENGUE Serge   29

Contenu connexe

Tendances

Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemeStéphane Traumat
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystémeAlgeria JUG
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Eric Bourdet
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Heithem Abbes
 

Tendances (19)

Tutoriel J2EE
Tutoriel J2EETutoriel J2EE
Tutoriel J2EE
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
Hibernate
HibernateHibernate
Hibernate
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
3 Jsf
3 Jsf3 Jsf
3 Jsf
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
Presentation jsf2
Presentation jsf2Presentation jsf2
Presentation jsf2
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Introduction à JPA (Java Persistence API )
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
 
JSF 2.0
JSF 2.0JSF 2.0
JSF 2.0
 
Angular 11
Angular 11Angular 11
Angular 11
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 

Similaire à Hibernate et jsf

Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
1-Introduction JQuery.pptx
1-Introduction JQuery.pptx1-Introduction JQuery.pptx
1-Introduction JQuery.pptxlaabid1
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web5pidou
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
HTML5 vu par Ekino
HTML5 vu par EkinoHTML5 vu par Ekino
HTML5 vu par Ekinoekino
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Xavier NOPRE
 
Création d’une application gérant l’offline et le stockage
Création d’une application gérant l’offline et le stockageCréation d’une application gérant l’offline et le stockage
Création d’une application gérant l’offline et le stockagedavrous
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
OWF12/HTML 5 local storage , olivier thomas, cto at webtyss
OWF12/HTML 5 local storage , olivier thomas, cto at webtyssOWF12/HTML 5 local storage , olivier thomas, cto at webtyss
OWF12/HTML 5 local storage , olivier thomas, cto at webtyssParis Open Source Summit
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Dojo Mobile @ Devoxx France
Dojo Mobile @ Devoxx FranceDojo Mobile @ Devoxx France
Dojo Mobile @ Devoxx Francecjolif
 

Similaire à Hibernate et jsf (20)

Jboss Seam
Jboss SeamJboss Seam
Jboss Seam
 
Springioc
SpringiocSpringioc
Springioc
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
1-Introduction JQuery.pptx
1-Introduction JQuery.pptx1-Introduction JQuery.pptx
1-Introduction JQuery.pptx
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
 
Backbonejs presentation
Backbonejs presentationBackbonejs presentation
Backbonejs presentation
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
HTML5 vu par Ekino
HTML5 vu par EkinoHTML5 vu par Ekino
HTML5 vu par Ekino
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013
 
Création d’une application gérant l’offline et le stockage
Création d’une application gérant l’offline et le stockageCréation d’une application gérant l’offline et le stockage
Création d’une application gérant l’offline et le stockage
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
OWF12/HTML 5 local storage , olivier thomas, cto at webtyss
OWF12/HTML 5 local storage , olivier thomas, cto at webtyssOWF12/HTML 5 local storage , olivier thomas, cto at webtyss
OWF12/HTML 5 local storage , olivier thomas, cto at webtyss
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Dojo Mobile @ Devoxx France
Dojo Mobile @ Devoxx FranceDojo Mobile @ Devoxx France
Dojo Mobile @ Devoxx France
 
JQuery
JQueryJQuery
JQuery
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
Apprenez le jQuery
 
Apprendre J2EE
Apprendre J2EEApprendre J2EE
Apprendre J2EE
 

Hibernate et jsf

  • 1. Présentation de frameworks J2EE HIBERNATE ET JSF LIU Sizhao LUO Xin MALICK MANDENGUE Serge 1
  • 2. Sommaire A. Hibernate (Persistance) B. JSF (MVC) C. Cas d’étude LIU Sizhao LUO Xin MALICK MANDENGUE Serge 2
  • 3. Hibernate  Qu’est-ce qu’Hibernate ?  Objectifs d’Hibernate  Avantages et inconvénients  Configuration d’Hibernate LIU Sizhao LUO Xin MALICK MANDENGUE Serge 3
  • 4. Qu’est-ce qu’Hibernate ?  C’est un logiciel, écrit en java, qui permet de faire le mapping entre Objets Java et Objets stockés en base relationnelle en assurant la persistance.  S’occupe du transfert des classes Java dans les tables de la BDD et des types de données dans les types de données SQL.  http://www.hibernate.org/ LIU Sizhao LUO Xin MALICK MANDENGUE Serge 4
  • 5. Objectifs d’Hibernate  Réduire le temps de développement de l'application en éliminant une grande partie du code SQL à écrire pour interagir avec la base de données et en encapsulant le code SQL résiduel.  Les développeurs manipulent les classes dont les données doivent être persistantes comme des classes Java normales.  Seules une initialisation correcte d‘Hibernate doit être effectuée, et quelques règles respectées lors de l'écriture et de la manipulation des classes persistantes. LIU Sizhao LUO Xin MALICK MANDENGUE Serge 5
  • 6. Avantages et inconvénients  Les objets métiers sont plus faciles à manipuler  Peu de dépendance envers une base de données précise  Théoriquement, il n'y a que le fichier de configuration à changer si on passe d'une base de données comme Oracle vers PostgreSQL  Le seul inconvénient que l'on peut trouver à Hibernate est qu'il nécessite d'apprendre à l'utiliser LIU Sizhao LUO Xin MALICK MANDENGUE Serge 6
  • 7. Configuration d’Hibernate  Hibernate permet de manipuler facilement les objets persistants mais demande une configuration rigoureuse.  Nous verrons ici deux façons de configurer l'accès à la base de données. Ces fichiers définissent les propriétés de la connexion. Il s'agit des fichiers hibernate.properties et hibernate.cfg.xml.  Nous utilisons ce fichier de la configuration pour configurer les informations du BDD et les informations du mapping. LIU Sizhao LUO Xin MALICK MANDENGUE Serge 7
  • 8. JSF (Java Server Faces)  Qu’est-ce que JSF ?  Objectifs de JSF  Meilleur que Struts  Qu’est-ce qu’une application JSF ?  Configuration d’une application JSF LIU Sizhao LUO Xin MALICK MANDENGUE Serge 8
  • 9. Qu’est-ce que JSF ?  Framework de développement d’application web en Java permettant de respecter le modèle d’architecture MVC et basé sur des composants côté présentation  Site de référence: http://java.sun.com/javaee/javaserverfaces  2 implémentations JSF (Sun, Apache)  Version 1.1 associée à J2EE 1.4  Version 1.2 associée à Java EE 5 LIU Sizhao LUO Xin MALICK MANDENGUE Serge 9
  • 10. Objectifs de JSF  une séparation de la couche présentation des autres couches (MVC)  un mapping entre l’HTML et l’objet  un ensemble de composants riches et réutilisables  une liaison simple entre les actions côté client de l’utilisateur (event listener) et le code Java côté serveur  JSF peut être utilisé pour générer autre chose que du HTML (XUL, XML, WML, …) LIU Sizhao LUO Xin MALICK MANDENGUE Serge 10
  • 11. Meilleur que Struts …  Composants extensibles – JSF fournit plein de composants fondamentaux pour développer des nouveaux composants et on peut les participer aux autres  Managed-Beans (Dependency Injection) – JSF peut créer des managed beans variés  POJO Action Méthods – les actions du Struts sont attachées avec les API du Struts, mais les actions du JSF peuvent réaliser dans POJO  JSF est le critère – Struts est un produit opensource, mais JSF est le critère LIU Sizhao LUO Xin MALICK MANDENGUE Serge 11
  • 12. Comment ça marche ?  L’interface utilisateur construite dans la page JSP est générée à l’aide de la technologie JSF (résultat myUI)  Elle fonctionne sur le serveur et le rendu est retourné au client. LIU Sizhao LUO Xin MALICK MANDENGUE Serge 12
  • 13. Configuration d’une application JSF  Configurer le fichier web.xml (javax.faces.webapp.FacesServlet)  Spécifier le nom et le chemin du fichier de configuration (javax.faces.application.CONFIG_FILES)  Spécifie où l’état de l’application doit être sauvé (javax.faces.STATE_SAVING_METHOD)  Valider ou pas les fichiers XML (com.sun.faces.validateXml) LIU Sizhao LUO Xin MALICK MANDENGUE Serge 13
  • 14. Configuration d’une application JSF  Indiquer si les objets importants doivent être crées au démarrage de l‘application(com.sun.faces.verifyObjects) LIU Sizhao LUO Xin MALICK MANDENGUE Serge 14
  • 15. Cas d’étude 1. Sujet 2. Création de la base de données 3. Configuration des frameworks 4. Gestion des classes 5. Résultat final LIU Sizhao LUO Xin MALICK MANDENGUE Serge 15
  • 16. Sujet  Logiciel de gestion de contacts en ligne  (nom, prénom, num tél, mail, …)  Cas d’utilisations volontairement simples :  concentration sur les technologies  à vous d’être originaux sur la réalisation  Deux acteurs :  l'administrateur qui va gérer la liste des utilisateurs et les mots de passe (ajout, suppression, init mot de passe, stats...)  l'utilisateur qui va gérer ses contacts (ajout, suppression, affichage, recherche, nb contacts...) LIU Sizhao LUO Xin MALICK MANDENGUE Serge 16
  • 17. Sujet : Uses cases LIU Sizhao LUO Xin MALICK MANDENGUE Serge 17
  • 18. Création de la base de données  2 tables: Contacts et Utilisateurs  Contacts (Id, Nom, Prénom, Adresse, Tel, Mail, Id_user)  Utilisateurs (Id, Nom, motdepasse, statut) LIU Sizhao LUO Xin MALICK MANDENGUE Serge 18
  • 19. Configurations: Hibernate.cfg.xml  <hibernate-configuration>  <session-factory >  <!-- local connection properties -->  <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  <property name="hibernate.connection.username">root</property>  <property name="hibernate.connection.password"></property>  <!-- property name="hibernate.connection.pool_size"></property -->  <!-- dialect for MySQL -->  <property name="current_session_context_class">thread</property>  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  <property name="hibernate.show_sql">false</property>  <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>  <mapping resource="Utilisateurs.hbm.xml" />  <mapping resource="Contacts.hbm.xml" />  </session-factory>  </hibernate-configuration> LIU Sizhao LUO Xin MALICK MANDENGUE Serge 19
  • 20. Configurations: Contacts.hbm.xml  <hibernate-mapping package="CasEtude">  <class  name="Contacts"  table="contacts"  >  <meta attribute="sync-DAO">false</meta>  <id  name="Id"  type="integer"  column="id"  >  <generator class="native"/>  </id>  <property  name="Nom"  column="nom"  type="string"  not-null="true"  length="10"   />  ……  </class>  </hibernate-mapping> LIU Sizhao LUO Xin MALICK MANDENGUE Serge 20
  • 21. Configurations: Utilisateurs.hbm.xml  <hibernate-mapping package="CasEtude">  <class  name="Utilisateurs"  table="utilisateurs"  >  <meta attribute="sync-DAO">false</meta>  <id  name="Id"  type="integer"  column="id"  >  <generator class="native"/>  </id>  …  </class>  </hibernate-mapping> LIU Sizhao LUO Xin MALICK MANDENGUE Serge 21
  • 22. Classes Java  1 fichier hibernateutil.java  Pour Contact et Utilisateurs  1 fichier xxx.java  Mapping du tableau  1 fichier xxxAction.java  Classe fonctionnelle  1 fichier xxxBean.java  Managed Bean LIU Sizhao LUO Xin MALICK MANDENGUE Serge 22
  • 23. Fichier HibernateUtil.java  public class HibernateUtil {  private static final SessionFactory sessionFactory; static {  try {  // Crée l’objet SessionFactory à partir de hibernate.cfg.xml  sessionFactory = new Configuration().configure().buildSessionFactory(); }  catch (HibernateException ex) {  System.err.println("Initial SessionFactory creation failed." + ex); throw new HibernateException(ex);  }  }  public static SessionFactory getSessionFactory() {  return sessionFactory; }  } LIU Sizhao LUO Xin MALICK MANDENGUE Serge 23
  • 24. Page de connexion LIU Sizhao LUO Xin MALICK MANDENGUE Serge 24
  • 25. Côté Administrateur LIU Sizhao LUO Xin MALICK MANDENGUE Serge 25
  • 26. Administration: Ajout d’un contact LIU Sizhao LUO Xin MALICK MANDENGUE Serge 26
  • 27. Côté Utilisateur LIU Sizhao LUO Xin MALICK MANDENGUE Serge 27
  • 28. Utilisateur: Ajout d’un contact LIU Sizhao LUO Xin MALICK MANDENGUE Serge 28
  • 29. Fin de la présentation Merci! Auteurs LIU Sizhao LUO Xin MALICK MANDENGUE Serge LIU Sizhao LUO Xin MALICK MANDENGUE Serge 29