Integration du framework Spring avec Hibernate

Integration du framework Spring avec Hibernate :

On peut facilement integrer spring avec hibernate, dans ce cas on n’aura pas besoin de créer le fichier hibernate.cfg.xml(c’est le fichier qui contient les informations de connexion avec la base de donnée ), toutes ces configurations seront intégrées dans le fichier applicationContext.xml.

L’avantage d’utiliser Spring avec Hibernate :

Spring fournit une classe qui s’appele HibernateTemplate, qui nous permet en fait de créer la configuration, BuildSessionFactory, Session, commencer et commiter les transactions etc…, donc puisque tout ce que nous venons de dire sera géré automatiquement, du coup on aura pas besoin d’écrire bcp de lignes de code.

7 étapes à suivre pour réussir l’intégration du Spring et Hibernate :

  1. Créer la base de donnée.
  2. Importer les jars necessaires.
  3. Créer la classe java beans
  4. Créer le fichier de mapping (.hbm.xml)
  5. Créer la classe qui va intéragir avec la base de donnée
  6. Créer le fichier applicationContext.xml.
  7. Créer la classe exécution.

Ci-dessous la description de chaque étape.

  1. Créer la base de donnée :
    Nous allons utiliser MySql comme SGBD, ci-dessous le script à utiliser pour créer la table personne.
  2. Importation des jars :
    Vous pouvez telecharger la version souhaitée.
  3. Créer la classe java beans :
    Nous allons créer une classe javabeans qu’on va la nommer Personne.java, ci-dessous le code :
  4. Création du fichier de mapping (.hbm.xml) :
    Ce fichier nous permet de faire en fait la liason entre les attributs de la classe et les champs de la table c’est ce qu’on appele le mapping.
  5. Creation de la classe DAO :
    c’est avec cette classe qu’on peut mettre en place nous méthode pour faire des mises à jour à une base de donnée.

    Donc comme vous voyez la classe HibernateTemplate à déjà des methodes qui sont prédefinies. Donc HibernateTemplate nous permet de faire tous ces trucs en écrivant un peu de code c’est wow n’est ce pas !!
  6. Creation du fichier applicationContext.xml :
    c’est au niveau de ce fichier qu’on va faire presque toute la config du projet : connexion avec base de donnée, création des objet(en se basent sur IOC), injection des depandances, etc…
  7. Exécution du projet :
    on va créer une classe qui va prendre en charge l’exécution de notre projet.

    Pour bien comprendre le pricipe d’IOC je vous invite à voir ce tuto Spring.

Statement & PreparedStatement

Statement & PreparedStatement

Statement : c’une interface qui nous fournit des méthodes pour exécuter des requêtes avec une bd. Cette dernière est une usine de Resultset.

Les méthodes qu’on peut utiliser sont les suivantes :

– public ResultSet executeQuery(String sql) : on l’utilise pour executer une requete de type select, elle nous retourne un objet de type ReseltSet.

public int executeUpdate(String sql) : utiliser pour executer une requete de type create, drop, insert, update ou delete.

public boolean execute(String sql) : pour executer des requetes qui vont retourner plusieurs résultats.

public int[] executeBatch() : pour executer des commandes batch.

PreparedStatement : c’une sous interface de Statement, on l’utilise pour exécuter des requêtes paramètres. L’utilisation de PreparedStatement rend l’application rapide car les requêtes paramètres sont compilées une seule fois.

Maven, c’est quoi?

Maven, c’est quoi?

Ce tuto fournit des concepts de bases et avancés de la technologie apache maven3. Notre tutoriel maven est développé pour les débutants et les professionnels.

Maven est un outil de gestion de projet puissant qui est basé sur POM (modèle d’objet du projet ) . Il est utilisé pour des projets build, la dépendance et la documentation .

Il simplifie le processus de construction comme ANT. Mais il est trop avancé que ANT .

Il y a beaucoup de problèmes auxquels nous sommes confrontés lors de l’élaboration du projet. Ils sont décrits ci-dessous:

  • Ajout d’ ensemble de Jars dans chaque projet : dans le cas des frameworks struts, Spring, Hibernate, il faut ajouter un ensemble de fichiers JAR dans chaque projet ainsi l’inclusion de toutes les dépendances de ces fichiers JAR.
  • Création de la structure de projet : Nous devons créer la bonne structure du projet sinon il ne sera pas exécuté.
  • Construction et déploiement du projet : Nous devons avoir à construire et à déployer le projet afin qu’il puisse travailler.

Maven simplifie tous les problèmes mentionnés ci-dessus, et vous aidez également à faire les points ci-dessous :

  • Construire les projets facilement.
  • Il fournit des processus de construction uniforme(un projet maven peut être partagé par tous les autres projets maven).
  • Il fournit des informations sur les projets (documents log, liste de dépendances, rapports de tests unitaires, etc… ).
  • la migration est facile pour les nouvelles versions de Maven.

Qu’est-ce que le framework Hibernate

Qu’est-ce que le framework Hibernate ?

Hibernate est un Framework open source, léger & ORM, ce dernier à été lancé en 2001 par Gavin King.

Hibernate est un Framework de persistance utilisé pour gérer la persistance des objets java dans une base de données, il peut être utilisé dans un développement web ou bien un développement client lourd.
Hibernate peut utiliser sql comme il peut utiliser son propre langage de requête HQL(Hibernate Query Language).

ORM(Object relational mapping) : c’est une méthode de programmation pour mapper les objets.

HQL(Hibernate Query Language) : est la version orienté objet du langage sql (on utilise le nom de la classe au lieu du nom de la table).

Architecture du framework Hibernate 

Hibernate architecture

Les avantages et les inconvénients du framework Hibernate :

Avantages :

  • Base de données indépendante : on n’a pas besoin d’écrire un code spécifique pour la base de données (si on ne change la bd, on ne sera pas obligé à modifier dans le code l’application “requêtes sql” ).
  • On peut mettre à jour la base de données sans écrire du code sql ou hql.
  • Le framework Hibernate est opensource sous licence LGPL.

Inconvénients :

  • Il est un peu difficile de faire des requêtes complexe avec HQL.