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.

L’interface Connection

Connection : L’interface Connection est une interface qui joue en fait le rôle de session entre une application et une bd, et c’est via cette interface qu’on peut fabriquer des Statement, PreparedStatement, and DatabaseMetaData.

Les classes qui implémentent cette interface doivent obligatoirement redéfinir les méthodes suivantes :

public Statement createStatement() : créer un objet de type statement pour executer des requetes SQL.

public Statement createStatement(int resultSetType,int resultSetConcurrency) : Crée un objet Statement qui va générer des objets ResultSet avec le type et la simultanéité donnée

public void setAutoCommit(boolean status) : on l’utilise pour modifier l’etat du commit, il est true par défaut.

public void commit() : souvegarder toutes les modifications faites après le dernier commit.

public void rollback() : supprimer toutes les modifications faites après le dernier commit.

public void close() : fermer la connexion et libérer les ressources JDBC.

La classe DriverManager

La classe DriverManager : cette classe joue le rôle d’intermediare entre l’utilisateur et le pilote(driver) utilisé(le chargement des pilotes). C’est via cette derniere qu’on peut établir une connexion entre une bd et le pilote approprié. Cette dernière maintient une liste des pilotes(drivers) qui sont enregistrés en appelant la méthode registerDriver.

4 méthodes sont appelées lors de l’utilisation de cette classe :

public static void registerDriver(Driver driver) : on l’utilise lorsqu’on veut enregistrer un driver.

public static void deregisterDriver(Driver driver) : pour désenregistrer un driver.

public static Connection getConnection(String url) : pour établir une connexion avec l’url spécifié.

public static Connection getConnection(String url,String userName,String password) : pour établir une connexion avec l’url spécifié, nom d’utilisateur et mot de passe.

Créer un blog en PHP et MySQL

Dans cet article, nous allons développer un blog en PHP et MySQL. Ce projet (BLOG) sera structuré de la manière suivante :

Structure des fichiers du blog

Structure des fichiers du blog

  • Le dossier photos contiendra les photos du blog. Nous ne stockerons dans la base de données que l’URL des photos et non pas les photos elles-meme.
  • le fichier formulaireAjout.php est le formulaire d’ajout d’un nouvel article.
  • le fichier insertionArticle.php permet d’ajouter les données saisies dans le formulaire dans la base de données
  • le fichier blog.php permet de visualiser(afficher) les différents articles du blog.

Étapes de création du blog

Première étape : création de la base de données blogPHP et la table Article.

Le script SQL de création de la table Article est :

Deuxième étape : création du formulaire formulaireAjout.php :

Ce qui donne :

Formulaire d'ajout d'un nouvel article

Formulaire d’ajout d’un nouvel article

troisième étape : création d’une page PHP pour ajouter le contenu du formulaire formulaireAjout.php à la base de données et de copier l’image transmise dans el dossier photos:

Apès traitement, cette page affiche :

 

quatrième étape : création d’une page PHP permettant d’afficher le contenu du blog (l’ensemble des articles du blog):

Voila, vous avez créé votre BLOG! une question ?

Ajouter, modifier ou supprimer des données PHP/MySQL

Dans cet article nous allons étudié l’accès à la base de données MySQL. Nous allons voir comment se connecter et se déconnecter de la base de données et comment executer des requetes SELECT, UPDATE, DELETE et INSERT au sein des scripts PHP.

Il faut en prérequis avoir la structure de la table Personne suivante (dans cet article nous avons vu comment créer la table Personne):

Structure de la table Personne

Structure de la table Personne

Ainsi que ces données :

Données de la table Personne

Données de la table Personne

Pour se connecter et manipuler une base de données MySQL, PHP nous offre deux extensions par défaut : mysql_ et mysqli_.

Nous utiliserons l’extension mysqli_ tout au long de ce tutoriel parce qu’elle est plus récente (version 5 de PHP) et a quelques fonctionnalités supplémentaires.

Connexion

mysqli_connect() est la fonction permettant de se connecter à MySQL, elle prend en paramètres :

  • L’hôte : le nom ou l’adresse IP de l’hôte. Celui-ci correspond à “localhost” ou 127.0.0.1 si vous travaillez en local
  • L’utilisateur : le nom de l’utilisateur pour se connecter à la base de données. Si vous travaillez en local, celui-ci correspond à “root”.
  • Le mot de passe : le mot de passe associé à l’utilisateur. Celui-ci est vide par défaut.
  • Le nom de la base de données : le nom de votre base de données.
  • Le port : numéro du port pour se connecter au serveur MySQL. Celui-ci vaut 3306 par défaut (optionnel).

La fonction mysqli_connect() retourne false en cas d’erreur ou un objet mysqli contenant l’identifiant de connexion en cas de succès.

Exemple :

Explication des fonctions :

  • mysqli_get_host_info($base) : retourne des informations sur votre serveur
  • mysqli_connect_errno() : retourne le numéro de l’erreur en cas d’échec de connexion.
  • mysqli_connect_error() : retourne le message de l’erreur en cas d’échec de connexion

Apès execution, le résultat ci-dessous s’affiche :

Message de connexion à la base de données MySQL

Message de connexion à la base de données MySQL

Déconnexion

La fonction permettant de se déconnecter de MySQL est mysqli_close().

Exemple :

Il n’est pas obligatoire de fermer la connexion car PHP le fait automatiquement à la fin du script.

Lire, écrire, supprimer et mettre à jour des données

La fonction mysqli_query() permet d’exécuter une requête SQL, elle prend en paramètres :

  • L’objet de connexion : objet renvoyé par la fonction mysqli_connect().
  • La requête : la requête SQL à executer.

Cette fonction retourne false en cas d’échec et true ou un identifiant en cas de succès.

Lire des données

Pour afficher les données de la table Personnes, il faut utiliser la notion de fetch. Le fetch permet de lire la ligne courante et de se déplacer sur la ligne suivante.

La fonction mysqli_fetch_assoc() est l’une des fonctions permettant d’utiliser cette notion de fetch. Elle prend en paramètre le résultat renvoyé par la fonction mysqli_query() et retourne un tableau associatif ayant pour indice le nom de la colonne de la requête SQL.

Exemple, pour afficher le nom, prenom et age de la table Personne :

Résultat :

Affichage des données de la table Personne

Affichage des données de la table Personne

Il existe 3 autres fonctions suplémentaires permettant d’utiliser la notion de fetch:

mysqli_fetch_row() prend en paramètre le résultat renvoyé par la fonction mysqli_query() et retourne un tableau indexé ayant pour indice un compteur de 0 à n représentant les colonnes dans l’ordre ramenées par la requête.

mysqli_fetch_array() prend en paramètre supplémentaire une constante permettant de récupérer soit un tableau associatif, soit un tableau indexé, soit les deux à la fois.

  • MYSQLI_ASSOC : retourne un tableau associatif équivalent à mysqli_fetch_assoc().
  • MYSQLI_NUM : retourne un tableau indexé équivalent à mysqli_fetch_row().
  • MYSQLI_BOTH : retourne un tableau à la fois associatif et indexé.

mysqli_fetch_object() prend en paramètre le résultat renvoyé par la fonction mysqli_query() et retourne un objet avec un attribut par champ retourné par la requête. Cet attribut a pour nom et pour valeur respectivement celui et celle du champ.

Écrire des données

Pour écrire des données (insérer des données dans la base de données), il faut exécuter une requête de type INSERT. Pour cela, il faut utiliser la fonction mysqli_query(). Cette dernière prend en paramètres :

  • L’objet de connexion : objet renvoyé par la fonction mysqli_connect().
  • La requête : la requête SQL à executer.

Exemple, , pour insérer une personne nommée Lauren Brandon âgée de 57 ans :

Vous avez alors une nouvelle ligne dans la base de données :

Insertion d'une nouvelle Personne dans la base de données

Insertion d’une nouvelle Personne dans la base de données

l’Id_personne n’a pas été ajouté dans la requête Insert, parce qu’il est auto-incrémental. Pour récuperer le dernier ‘id donné automatiquement par la base de données, il existe la fonction mysqli_insert_id(). Cette dernière prend en paramètre l’objet de connexion et retourne le dernier identifiant auto-incrémental ajouté en base de données.

Exemple :

Supprimer des données

Pour supprimer des données, il faut exécuter une requête de type DELETE. Pour cela, PHP nous propose la fonction mysqli_query(). Cette fonction prend en paramètres :

  • L’objet de connexion : objet renvoyé par la fonction mysqli_connect().
  • La requête : la requête SQL.

Exemple, pour supprimer une personne dont le prenom est Brandon :

Résultat:

Suppression d'une Perssonne de la base de données

Suppression d’une Perssonne de la base de données

Pour connaître le nombre de lignes supprimées, il faut utiliser la fonction mysqli_affected_rows().

Mettre à jour des données

Pour modifier des données, il faut exécuter une requête de type UPDATE. Pour cela, il faut utiliser la fonction mysqli_query(). Cette fonction prend en paramètre :

  • L’objet de connexion : objet renvoyé par la fonction mysqli_connect().
  • La requête : la requête SQL.

Exemple, pour modifier la personne dont le nom est Audric en changeant son nom par Elodie et son âge de 26 à 30 :

Résultat :

Modifier le nom et l'age d'une Personne de la base de données

Modifier le nom et l’age d’une Personne de la base de données

Nous avons utilisé la fonction mysqli_affected_rows() pour compter le nombre de lignes modifiées par la requete. Cette fonction prend en paramètre le résultat renvoyé par la fonction mysqli_connect().

Ajouter, modifier ou supprimer des données d’une table avec phpMyAdmin

Nous avons vu  comment crér une base de données nommée opentuto-php, dans laquelle nous avons créé une table sous le nom Personne et maintenant nous allons apprendre à ajouter, modifier ou supprimer des données d’une table avec phpMyAdmin.

Pour insérer un enregistrement dans la base de données MySQL, selectionnez l’onglet Insérer

Insérer des enregistrement dans une base de données MySQL

Insérer des enregistrement dans une base de données MySQL

Cet onglet sert à saisir les valeurs à insérer dans la table. Vous pouvez saisir les valeurs deux par deux.

Dans l’exemple ci-dessus, la valeur pour Id_personne n’est pas remplie car elle est auto-incrémentale, c’est donc la base de données qui va lui affecter un nombre.

Ensuite, vous renseignez le nom, le prénom et l’âge et vous cliquez sur le bouton Exécuter.

Insérer un enregistrement - phpMyAdmin

Insérer un enregistrement – phpMyAdmin

phpMyAdmin affiche alors le code SQL équivalent à l’insertion de cette nouvelle personne.

Pour afficher la ligne que vous venez d’inserer, cliquez sur l’onglet Afficher.

Code SQL de la requete Insert à la table Personne

Code SQL de la requete Insert à la table Personne

Vous pouvez modifier (modifier) ou supprimer (supprimer) des données de la table.

Vous pouvez faire les mêmes traitements en utilisant PHP avec MySQL, lire ce post >> Ajouter, modifier ou supprimer des données PHP/MySQL.

Bonne lecture.

Créer une table avec phpMyAdmin

Dans l’article précédent, nous avons vu comment créer une base de données avec phpMyAdmin. Cette fois-ci, nous allons avancer, et voir comment créer une table en utilisant le meme outil, phpMyAdmin.

Créer une table avec phpMyAdmin

Pour créer une table, il faut d’abord choisir la base de données dans laquelle vous voulez créer cette table. Dans notre cas, choisissez opentuto-php.

Maintenant, il faut créer une table en indiquant le nombre de champs qu’elle contient. Vous avez la possibilité par la suite d’ajouter ou de supprimer une colonne(tout est modifiable).

Tapez “Personne” Dans la zone de saisie à droite du nom et le chiffre 4 dans la zone de saisie du nombre de champs. En effet, la table Personne contiendra quatre champs : Id_personne (Int), Nom (Varchar 20), Prenom (Varchar 20) et Age (Int).

Créer une table avec phpMyAdmin

Créer une table avec phpMyAdmin

Cliquez sur le bouton Exécuter.

La table Personne

La table Personne

Dans l’exemple de la table Personne, le champ Id_personne est de type INT, PRIMARY et Auto-incrémental, le champ Nom est de type VARCHAR(20), le champ Prenom est de type VARCHAR(20) et enfin le champ Age est de type INT.

Cliquez sur le bouton Sauvegarder.

Pour plus d’informations sur les types de données MySQL, je vous invite à lire l’article à l’adresse suivante :
Table Personne créé avec succès

Table Personne créé avec succès

Nous avons donc vu comment Créer une table avec phpMyAdmin, par la suite, un autre article sera dedié à la création, modification et suppression des données d’une table à l’aide de l’interface web phpMyAdmin.

Créer une base de données avec phpMyAdmin

Qu’est ce que phpMyAdmin?

phpMyAdmin est une interface web incluse dans WampServer permettant de gérer vos bases de données. Cette interface possède différents menus pour créer des bases de données, des tables, des champs, ajouter des données, les supprimer… Ainsi vous pouvez gérer votre base de données sans taper de commandes SQL.

Comment accèder à phpMyAdmin?

Pour accéder à phpMyAdmin, faites un clic gauche sur l’icône phpMyAdmin dans la barre des tâches, puis choisissez phpMyAdmin. L’interface web de phpMyAdmin s’ouvre sur votre navigateur par défaut.

Interface web phpMyAdmin

Interface web phpMyAdmin

Création de la base de données

Pour  créer une base de données avec phpMyAdmin, cliquez sur l’onglet Bases de données, entrez le nom de la base de données que vous voulez créer dans la zone de saisie et laissez l’interclassement (langue utilisée) par défaut. Cliquez sur le bouton Créer.

Votre base de données apparaît sur la gauche. Dans cet exemple, la base de données est nommée opentuto-php.

Création de base de données avec phpMyAdmin

Création de base de données avec phpMyAdmin

Ne mettez jamais de caractères spéciaux dans les noms de base, de table, de champs et de n’importe quel objet en base de données. Cela vous évitera de nombreux problèmes.

Dans le prochain article, nous verrons comment créer une nouvelle table à l’aide de l’interface web de phpMyAdmin.

Base de donnée, c’est quoi ?

Base de donnée, c’est quoi ?

images (7)

Pour utiliser le langage SQL nous avons besoin d’utiliser un système de gestion de base de donnée.

– Une base de données est une ensemble de données bien organisée.
– Le but principal d’une base de données est de stocker une grande quantité d’informations, la récupérer et la gérer.

Exemple d’utilisation d’une base de donnée :
Il ya beaucoup de sites Web dynamiques sur le web qui sont traités par le biais des bases de données. Par exemple, Vérifier la disponibilité d’une chambre dans un hôtel.

Les systèmes de gestion de bases de données :
Il y a beaucoup de SGBD disponibles comme MySQL, Sybase, Oracle, Mango DB, Informix, Postgre, SQL Server, etc.

Noter bien que SQL est utilisé pour effectuer des opérations sur les données stockées dans une base de données.