Modèle et persistance des données



Documents pareils
Tutoriel d installation de Hibernate avec Eclipse

Etude de cas : PGE JEE V2

1. Installation d'un serveur d'application JBoss:

Création d une application JEE

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

Développement Web - Object Relational Mapping and Hibernate

Web Tier : déploiement de servlets

Création d un service web avec NetBeans 5.5 et SJAS 9

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'archivage 2007 Installation et utilisation de la BD exist

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Application web de gestion de comptes en banques

Compte Rendu d intégration d application

Remote Method Invocation (RMI)

RMI le langage Java XII-1 JMF

La base de données XML exist. A. Belaïd

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Corrigé des exercices sur les références

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Projet de programmation (IK3) : TP n 1 Correction

Mise en place SSO. Mise en place SSO. 1. Installation de Tomcat sur le serveur OCR (Windows) 2. Ajout des librairies. by LegalBox

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Remote Method Invocation Les classes implémentant Serializable

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Un ordonnanceur stupide

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»).

Les frameworks au coeur des applications web

TP1 : Initiation à Java et Eclipse

Systeme d'exploitation

Programmer en JAVA. par Tama

Calcul Parallèle. Cours 5 - JAVA RMI

Synchro et Threads Java TM

Java DataBaseConnectivity

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Construire des plug-ins pour SAS Management Console SAS 9.1

Rapport de projet de fin d études

Auto-évaluation Programmation en Java

Cours 1: Java et les objets

JOnAS 5. Serveur d application d

Solutions informatiques

TP1 : Initiation à Java et Eclipse

Dis papa, c est quoi un bus logiciel réparti?

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Traitement de données

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

OpenPaaS Le réseau social d'entreprise

Java 7 Les fondamentaux du langage Java

Remote Method Invocation en Java (RMI)

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Java Licence professionnelle CISII,

Documentation CAS à destination des éditeurs

Chapitre 10. Les interfaces Comparable et Comparator 1

Généralités sur le Langage Java et éléments syntaxiques.

Java et les annotations

République Algérienne Démocratique et Populaire. Université Abou Bakr Belkaid Tlemcen. Faculté des Sciences Département d Informatique

Java pour le Web. Cours Java - F. Michel

Déploiement d application Silverlight

EJB3.1 - ORM - Object-Relational Mapping

Alfstore workflow framework Spécification technique

EJBCA PKI Open Source

Vanilla : Virtual Box

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

Installer GlassFish v3

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TP SIN Programmation sur androïde Support : eclipse

J2EE - Introduction. Développement web - Java. Plan du chapitre

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Authentification et contrôle d'accès dans les applications web

Programmation Par Objets

Compiere. Installation et adaptation avec Hibernate. Travail de Bachelor. Thibaut Schorderet Septembre 2005

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

as Architecture des Systèmes d Information

Eclipse atelier Java

Architecture de la plateforme SBC

Le stockage local de données en HTML5

Aspects techniques : guide d interfaçage SSO

Compte-rendu de projet de Système de gestion de base de données

PROCEDURE D'INSTALLATION OPENREPORTS

TP Programmation Java / JDBC / Oracle

Gestion d utilisateurs et stratégie systèmes.

Services Windows et Domaines d application

Plan du cours. Historique du langage Nouveautés de Java 7

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Déploiement de SAS Foundation

Transcription:

Le projet étant créé et les librairies nécessaires ayant été ajoutées, nous pouvons implémenter le modèle de données et la couche de persistance. Arborescence du projet Dans cette première étape de développement, nous allons créer trois packages : fr.mistra.pgejee.model, qui contiendra l'entité JPA User, fr.mistra.pgejee.utils, qui contiendra la classe HibernateUtils détaillée plus loin dans ce chapitre, fr.mistra.pgejee.tests, qui contiendra une classe Main temporaire, utilisée pour tester la persistance implémentée dans ce chapitre. Un fichier hibernate.cfg.xml est également ajouté à la racine du répertoire /src. L'arborescence du projet est donc la suivante :

La classe User Nous l'avons vu, notre modèle de données est composé d'une unique classe User, que nous mapperons dans une table users. Pour obtenir des explications supplémentaires sur le mapping relationnel-objet et les annotations JPA, reportez-vous au chapitre Création d'une entité JPA du tutoriel Hibernate. package fr.mistra.pgejee.model;

import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import javax.persistence.table; @Entity @Table(name="users") public class User { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="id") private Long id; @Column(name="identifiant") private String login; @Column(name="motdepasse")

private String pass; private String email; public User(String login, String pass, String email) { super(); this.login = login; this.pass = pass; this.email = email; public User() { // Getters et setters Le fichier de configuration hibernate.cfg.xml Le fichier hibernate.cfg.xml, situé dans le répertoire /src contient le code suivant :

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> org.hibernate.dialect.mysqldialect com.mysql.jdbc.driver jdbc:mysql://localhost/pgejeev1 root create-drop

Des explications supplémentaires sont disponibles dans le chapitre Configuration d'hibernate du tutoriel Hibernate. La classe HibernateUtils Enfin, la classe HibernateUtils permet de gérer les sessions Hibernate et de remplir la base de données au lancement du programme pour effectuer les tests. Pour une meilleure compréhension de cette classe, nous vous invitons à consulter le chapitre correspondant du tutoriel Hibernate : Contexte de persistance et sessions. package fr.mistra.pgejee.utils; import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.transaction; import org.hibernate.cfg.annotationconfiguration; import fr.mistra.pgejee.model.user; public class HibernateUtils { private static SessionFactory sessionfactory;

static { try { // Create the SessionFactory from hibernate.cfg.xml sessionfactory = new AnnotationConfiguration().configure().buildSessionFactory(); populatedatabase(); catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); public static Session getsession() { return sessionfactory.opensession(); // Remplissage de la base de données en début d'application private static void populatedatabase(){

User u = new User("mistra","formation"); User u2= new User("login", "pass"); Session s = getsession(); Transaction t = s.begintransaction(); s.save(u); s.save(u2); t.commit(); s.close(); Classe Main et test de l'application Le test de l'application consiste simplement en l'ouverture et la fermeture d'une session Hibernate. De cette manière, la classe HibernateUtils est instanciée et la méthode populatedatabase() sera appelée, insérant deux entrées User dans la base de données. package fr.mistra.pgejee.tests; import org.hibernate.session; import fr.mistra.pgejee.utils.hibernateutils;

public class Main { public static void main(string[] args) { testpersistence(); // Test de la persistance des données private static void testpersistence() { Session s = HibernateUtils.getSession(); s.close(); Pour lancer le test, il faut exécuter le programme en tant qu'application Java et non l'exécuter sur le serveur Tomcat. Pour ce faire, placez-vous sur le fichier Main.java, faites un clic droit et choisissez la ligne Run As / Java Application comme illustré ci-dessous :

Le programme s'exécute alors en tant qu'application Java et la console affiche les logs d'initialisation d'hibernate. Afin de vérifier le bon déroulement du test et l'insertion dans la base de données des trois utilisateurs que nous avons créés, ouvrons PhpMyAdmin founi par WampServer à l'url http://localhost/phpmyadmin : Le modèle et la couche de persistance sont donc désormais implémentés et fonctionnels. Voyons maintenant comment réaliser la couche d'accès aux données.

Powered by TCPDF (www.tcpdf.org) Modèle et persistance des données