kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:44:20
Le DAO est un design pattern qui permet de faciliter la connexion à la base de donnée et qui permet de faciliter les requêtes SQL (ajout modifier supprimer sélectionner)
les questions à se poser:
- Où mettre le code SQL ?
- Que faire pour simplifier un futur changement de base de données cible ?
- Comment obtenir une application la plus modulaire possible, la plus facilement modifiable et la plus réutilisable ?
- Quand on accède à une base de données depuis un langage, il y a de nombreuses façons de faire.
-----> DAO répond à ces questions !
on va prendre l'esxemple suivant;
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:47:33
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:45:04
Se pose maintenant la question du placement du code SQL chargé de créer ces objets depuis la base, ou de mettre à jour la base en fonction de ces objets.
SQL est un langage normalisé, certes, mais chaque SGBD a ses particularités et son dialecte propre.
Imaginons que le code SQL est placé dans les objets métier. Lors d'un changement de SGBD cible, ou si on décide d'abandonner la solution SGBD pour une solution XML par exemple, il faudra modifier les objets métiers. Cette solution n'est donc pas la bonne.
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:46:05
Le patron de conception DAO propose la création d'une classe DAO par classe métier.
Chaque classe DAO contient les méthodes de liaison avec la base de données, parfois appelées CRUD (pour Create, Request, Update, Delete).
Les méthodes de suppression et de modification renvoient un booléen indiquant le succès de l'opération, la méthode d'insertion renvoie l'identifiant affecté à la nouvelle ligne de la table (utile en cas d'identifiant auto-incrémenté par le SGBD), et plusieurs méthodes get permettent d'obtenie un objet en fonction de différents critères de recherche.
Publicité
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:49:32
Les Objets DAO de notre Exemple:
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:49:56
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:50:22
Ces objets DAO implémentent le patron de conception Singleton, afin de s'assurer qu'il n'y ait qu'une seule instance de chaque classe.
Les constructeurs sont donc privés, une méthode de classe publique getInstance permettant d'accéder à l'unique objet instance de chaque classe DAO.
Le premier appel à cette méthode crée l'objet et le renvoie, les suivants se contentant de renvoyer l'objet préalablement créé.
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
le 30-01-2015 à 09:54:47
Dans sa version la plus complète, le patron de conception DAO utilise d'autres patrons de conception pour faciliter le passage à une autre solution de stockage (fichiers, autre SGBD, etc.) Nous n'irons pas jusqu'à ce stade. Nous allons nous contenter de créer une classe se chargeant de gérer la connexion à un SGBD, en l'occurence MySQL.
Cette classe est également un singleton, et contient au moins une méthode renvoyant un objet instance de java.sql.Connexion
Voici un lien pour la connexion à la base de donnée grace à DAO
  kraiem :
nb posts:44
nb discussions:14
inscrit le :04-12-2014
En partenariat avec "Positive Technologies", Esprit a l'honneur d'inviter ses étudiants à la 1ère édition de l’événement ESPRIT HACK DAYS dans les locaux d'ESPRIT Chotrana 2 et ce le 03 et le 04 Mars 2015.
La direction des stages d’ESPRIT et Ernst & Young ont le plaisir d'inviter ses étudiants à la journée de l’entreprise du mercredi 4 mars 2015 dans la salle E5 d’ESPRIT Factory.