Hibernate est un framework (ensemble de bibliothèques,
d'outils et de conventions permettant le développement d'applications
)permettant de resoudre le problème d'adaptation entre le paradigme objet et les SGBD (système de gestion de base de données).
#1. Introduction générale:
Pour faire simple, les SGBD sont complexes
d'utilisation et contraignant, hibernate permet au programmeur,
d'accéder à la base de données en créant des objets, ce qui simplifie
grandement la tâche.
Dans cet article , on va voir comment créer créer, configurer et dévlopper avec Hibernate sur Eclipse. On va prendre comme exemple l'insertions et la récupération des données à partir d'une base de données MySQL .
#2. Téléchargement des outils :
- Le connecteur JDBC mySQL mysql-connector-java (préférez la version « Platform indépendant », dans un zip):

- Apache Tomcat :

#3. Création de la base de données:
Pour notre premier exemple on va utiliser une simple table (Food) dans une base tutozonedb:Le schémas suivant explique bien le fonctionnement du hibernate et son relation avec la base de doonées et les entitées:

#4. Configuration hibernate avec eclipse:
Passons à l'installation des prérequis nécessaires sous eclipse.On4.1 . Installation de Hibernate synchronizer :
Lancez Eclipse, puis accédez au menu Help -> Install new software, puis (add) ajoutez la source:
http://hibernatesynch.sourceforge.net/
on donnant comme nom: Hibernate synchronizer.
Et on continue l'installation puis redémarrer Eclipse.
4.2 . Installation de Hibernate Tools:
De même , on accède au menu Help -> Install new software, puis ajoutez la source:
http://download.jboss.org/jbosstools/updates/stable/{nom de la version}/
(remplacez {nom de la version} par le nom en minuscules de votre version d’Eclipse( indigo,luna etc..) et en donnant Hibernate Tools comme nom de l'entrée. puis on coche tous les "hibernate tools" et suit l'installation.
Ou bien via le marketplace d'Eclipse , on cherche Hibernate Tools:
Pour vérifier que Hibernate est bien ajouté à Eclipse : allez vers menu window -> open perspective -> other , il faut que tu vois Hibernate parmi la liste :
#5. Création de la première projet java EE et configuration:
5.1 . Configuration du serveur Tomcat:
Après avoir télécharger Tomcat , extrayez-le dans le dossier de votre choix.
Puis, dans Eclipse, dans l’onglet « Servers », cliquez sur le lien pour ajouter un nouveau serveur. Si jamais il est absent, clic droit sur la zone, puis New -> Server.
Choisissez le type de serveur , puis terminez le formulaire en configurant le chemin des binaires Tomcat.
Puis, dans Eclipse, dans l’onglet « Servers », cliquez sur le lien pour ajouter un nouveau serveur. Si jamais il est absent, clic droit sur la zone, puis New -> Server.
Choisissez le type de serveur , puis terminez le formulaire en configurant le chemin des binaires Tomcat.
Donner le chemin ou vous avez extracté le apache Tomcat :
5.2 . Création du projet java EE:
Créez votre projet Java EE avec un clic droit dans l’explorateur de projets, puis New -> Dynamic Web Project.
Le nom du projet : HibernateTutoZone
L'exploration du projet donne :
5.3 . Changement du "Project Facet":
5.3.1 . Importation du connecteur JDBC MySQL:
La source de données choisie pour cet article est MySQL. Il est évidemment possible d'en choisir une autre comme Oracle, SQL Server ou même un simple fichier XML pourvu que vous disposiez des drivers JDBC adaptés.
Il faut d’abord extraire le connecteur mySQL du zip téléchargé. Il suffit de prendre le jar, uniquement (mysql-connector-java-5.1.33-bin.jar) et on le met dans le dossier « lib » du dossier « WEB-INF » du dossier « WebContent »
Il faut d’abord extraire le connecteur mySQL du zip téléchargé. Il suffit de prendre le jar, uniquement (mysql-connector-java-5.1.33-bin.jar) et on le met dans le dossier « lib » du dossier « WEB-INF » du dossier « WebContent »
Maintenant on va donc le linker(il doit être inclus dans le Classpath de Tomcat). Allez dans les propriétés du projet, puis dans le « Java Build Path ».
5.3.2 . Configuration du facet JPA:
Il faut désormais passer à la configuration du facet JPA pour le projet. Pour cela, clic droit sur le nom du projet dans l’explorateur de projets à gauche, puis sur Properties. Allez dans la rubrique « Project Facets », puis cochez la ligne JPA et passez la version en 2.0. Allez ensuite terminer la configuration en cliquant sur « Further configuration required.. »
Une fois le bouton « New.. » cliqué, entrez un nom pour votre librairie « personnalisée » par exemple hibernatelibraries, et cliquez sur « Add External JARs » en veillant à ce que le nom de votre librairie « personnalisée » soit sélectionné. Extrayez dans le dossier de votre choix (mais situé à l’extérieur du dossier du projet) les librairies contenues dans les dossiers suivants du dossier lib du zip de Hibernate
Une fois les librairies linkées, on va dans les « Project Facets », et on configure la connexion qui sera placée dans le fichier « persistence.xml » :
Puis on clique sur Next :
On sélectionne la version de MySQL JDBC (5.1) dans le l'onglet Name/Type
Ensuite on importe la librairie de jdbc :
Maintenant on configure la connection à notre base de données "tutozonedb", et on teste la connection (Il faut que la base de données soit crée)
A la fin on termine la configuration et une fichier persistance.xml sera généré
Voici qu'est ce on va obtenir si on clique 2 fois sur le fichier persistance.xml
Le champ « Name » est le nom de votre persistence-unit, celle qui sera appelée lors de ce petit morceau de code très utile:
Persistence.createEntityManagerFactory("Hibernate Tutozone") ;
Le champ « Persistence Provider » est obligatoire pour le bon fonctionnement d’Hibernate. Sa valeur est « org.hibernate.ejb.HibernatePersistence ».
Jusqu'à maintenant , voici le source du fichier :
Maintenant on va créer notre entitée FOOD. Clic droit sur dossier src/ -> new -> JPA Entity. Et on donne le nom de la classe et on ajoute les attributs (Comme dans la table du Bd)
Voila le contenu du Food.java après la génération :
Ensuite, on passe à l’onglet « Connection » :
Il faut changer le « Transaction type » sur la valeur « Resource Local ». Le plus pratique est de cliquer sur « Populate from connection.. » et de sélectionner celle qu’on a créée un peu avant.
Le source du fichier persistance.xml , sera changé:
La dernière chose à faire (enfin, à part tester), est de rajouter le dialecte de la base de données pour Hibernate. Dans mon cas, ce sera « mySQL5 (InnoDB) ». Il faut donc cliquer sur l’onglet « Source » et éditer manuellement le XML pour rajouter une autre ligne:
Une fois terminé, on enregistre le XML, et on peut tester !
#6. Tester le projet :
6.1. Avec Servlet:
Maintenant, on va tester notre configuration , on va essayer d'ajouter des données à notre base via une servlet .Pour cela , clic droite sur le package , new -> Servlet , et on la donne TestServelt comme nom.
Pour le moment , on va juste tester la connection à la base sans ajouter des données. On fait une instance d' un EntityManager, et commencer une connexion qui ne fera rien sur la base dans la méthode doGet.
Et on exécute , si vous obtenez une page blanche, aucune erreur 500 alors tout fonctionne bien:
On change doGet pour ajouter des données à la base , et on ré exécute:
Vérifier votre base maintenant , vous devez voir la nouvelle ligne ajoutée:
Vous pouvez maintenant créer vos transactions comme vous voulez .
6.2. Avec classe main java:
De même , on crée une classe java (Test.java) main ,mais on va récupérer les données de la base cette fois :
Et voilà !
Vous avez aimé cet article ? alors suivez-nous sur Twitter, Google+ et Facebook, et partagez-le avec les boutons ci-dessous ! Vos commentaires sont les bienvenus.





1 commentaires:
Mercie pour vous
ReplyEnregistrer un commentaire