[Java] Etude du pattern DAO (Français).

Introduction


Dao veux dire Data access object.

Il s’agit d’un pattern qui sépare la logique d’accès et d’exploitation de la base de données, d’un POJO JAVA (L’habituelle classe Java contenant les getter et les setters).

L’atout est que l’on comprends mieux le code, et que l’on peut même créer plusieurs DAO en fonction de la BDD ou des fichers de données à exploiter (Comme du XML, par exemple.)

Idées provisoires, à vérifier


je suis particulièrement intéressé par JSF 2.0 et Primefaces(Qui semble bien plus simple dans sa syntaxe), cependant, les DAO, sauf erreurs, sont plutôt accès sur les JSP, il est bon d’apprendre les technologies plus anciennes, étant donné qu’il faut pouvoir intervenir sur les technologies les plus utilisées/anciennes, même si elles sont peu aisées à appréhender.

Je vais faire des exercices sur

  • un pattern DAO en adéquation avec une JSP et Mysql.
  • un pattern DAO en adéquation avec JPA et Hibernate et Mysql.

Un exemple pattern DAO en adéquation avec une JSP et Mysql


 

Sommaire :

Généralités 

  1. Les packages
  2. Les librairies
  3. Les pages web jsp
  4. Le fichier Web.Xml

Code 

 

  1. Les packages

Un package permet de classer les classes Java par type, dans une application Javaee.

Généralement, on précède son nom du préfixe com lorsqu’on le crée dans Eclipse en faisant un clic droit ‘Create package ‘ sous Java Ressource/src dans l’arborescence Eclipse.

Notre exemple contient 4 Packages :

  • Le Package com.app.controleur : On y place la classe Java qui va intéragir avec les pages Web JSP, lors de l’action d’un utilisateur
  • Le Package com.app.dao  :On y place les 2 classes Java qui vont intéragir avec la Base de données . 1 classe répertorie les commandes CRUD  disponibles (Lire/Enregistrer/Mettre à jour/Supprimer), l’autre classe actionne des requêtes SQL.
  • Le Package com.app.modele : On y place la classe Java (aussi appelée Pojo) qui contient les variables définissant notre modèle de donnée (exemple : Nom, Prénom), et les méthodes getter et setters
  • Le Package com.dbutil : On y place la classe Java qui permet la connexion à la base de données et ses paramêtres.

Voici le look d’une arborescence une fois nos packages créés (En Anglais), on peut considérer que c’est le moteur de l’application Web à venir. :

eclipse1

 

2. Les librairies :

On les télécharge et on les fait glisser déposer à partir du bureau windows dans le répertoire WebContent/WEB-INF/lib:

eclipse2

 

Ici, j’ai la lib JSTL, la lib MysqlConnector, et la lib servlet-api. elles sont toutes trois nécessaire au fonctionnement de notre système.

3. Les pages web JSP :

On les crée en faisant un clic droit sur WebContent puis ‘nouvelle JSP’, C’est l’Ihm, qui permet l’intéraction avec les utilisateurs, autrement dit, tout simplement, ce que l’on voit dans le navigateur.

4. le fichier Web.xml

Il permet de faire le mapping entre les URL et les Servlets

On le créée lorsque l’on crée un new dynamic web project, en cochant generate web descripment :

eclipse4

Si le projet est déjà créé, on clique sur le projet dans l’arbo, puis « Javaee tools/generate Deployement descriptor stub »

 
A SUIVRE AVEC UN CODE EN FRANCAIS BIENTOT
 

 

Publicités