Découvrir Java pour le web

Tirer parti de la JPA

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
La Java Persistence API, ou JPA, lie les données au reste du programme. À partir d'une base de données existante, créez les entités de manipulation.
06:43

Transcription

Qui dit application web, dit à un moment ou à un autre accès à une base de données, et manipulation de ces données. Pour manipuler des données en Java, on utilise la Java Persistence API, JPA, qui permet d'avoir des classes qui servent d'interface entre notre base de données et notre programme. On va utiliser une base de données relativement simple en lien avec notre programme de suivi de temps de travail. Là on le visualise dans MySQL Workbench puisque ça sera une base MySQL. On a une liste de projets ressemblant à la liste que l'on a manipulée dans la maquette. Une liste d'utilisateur comme celle que l'on voit en début de lancement de notre application web, et puis des tâches qui vont permettre de mesurer le temps de travail des utilisateurs sur les projets, la somme des tâches permettant de mesurer le temps total de travail d'un utilisateur sur un projet. Les liens entre ces tables sont assez classiques. Ici une clé étrangère dans « tâche » qui fait allusion au projet concerné par la tâche. Et puis une clé d'utilisateur étrangère qui permet de retrouver l'utilisateur qui a effectué cette tâche. Une heure de début, une heure de fin, qui est éventuellement nulle tant que la tâche n'est pas terminée. Ces tables sont remplies avec des données. On voit ici la table « tâches » qui est remplie avec environ 500 tâches et qui reprennent les identifiants d'utilisateurs et de projets qu'on a dans les tables « projets » ici. 8 projets. Et ici, 2 utilisateurs. Nous allons maintenant créer dans NetBeans le lien avec cette base de données. Pour ça, on va aller dans la partie « Persistence » et ajouter des entités qui sont en fait les classes qui vont nous permettre de manipuler la base de données dans notre programme. Donc des entités à partir de la base de données. On peut aussi créer des entités et créer la base de données à partir des entités mais là on a déjà la base de données donc c'est cette partie de projet que l'on va utiliser. Alors pour ça il nous faut une connexion à une base de données. On va la créer. C'est une connexion à une base MySQL. Donc là le connecteur MySQL pour Java qui a été installé avec MySQL. Ensuite on remplit les informations de la base de données. Ici le nom de la base de données : « tempass » Et puis on a créé un utilisateur, on n’a jamais utilisé « root ». En cas de faille on pourrait avoir des gros problèmes. Ici on teste la connexion quand même. Et puis cette chaîne de connexion va nous servir à créer les entités. On retrouve nos 3 tables. On va toutes les ajouter. Et puis on va pouvoir ajouter ces tables à notre projet. Ici on va plutôt prendre un package spécifique : « entities ». Là ce n'est pas lié à l'application web directement. On pourrait vouloir les réutiliser dans d'autres types d'applications. Ce sont vraiment des entités métiers donc on va leur consacrer un package spécifique. On juste renommer les classes pour leur enlever le « S » ici, ce qui fera une utilisation plus logique de nos différentes entités. Ici il y a plusieurs options, celles par défaut nous conviennent. Il y a possibilité d'avoir des noms beaucoup plus précis sur les noms de tables de façon à éviter des collisions de noms si on avait une base plus complexe. On pourrait aussi ajouter des attributs pour générer les tables d'après les entités. Ce qui n'est pas le cas ici, on a déjà la base de données, et un point SQL pour générer notre base de données. On peut aussi cocher éventuellement « Use Defaults if Possible », c'est-à-dire utiliser les valeurs par défaut si possible de nos champs dans les entités. Ici on n'aura pas de problème de relation non résolue donc on n'a pas besoin de les générer. Donc si on regarde « entities » maintenant on a des classes qui nous permettront de manipuler nos entités. On retrouve dans chacune de ces classes les différents champs. Il y a beaucoup d'annotations mais on retrouve quand même les champs avec « id », « nom » et « login » pour l'utilisateur. Et puis des méthodes d'accès « get » et « set » dans « getter » et « setter » pour nos classes. Même chose ici pour la tâche. On va ainsi pouvoir récupérer le titre de la tâche, son début et sa fin. Le projet et l'utilisateur par l'identifiant. Et pour le projet, ici le titre du projet puisque c'est la seule caractéristique qu'on avait spécifié. On a aussi les liens qui sont spécifiés. C'est-à-dire qu'on va pouvoir voir les collections de tâches de ce projet. De la même façon dans « utilisateur » les tâches qu'a effectuées l'utilisateur je les ai retrouvées d'après ces champs de collection. Et des accesseurs bien-sûr, « getTacheCollection » et « setTacheCollection », pour pouvoir générer ou récupérer les collections de tâches. Les informations de persistance quant à elles sont stockées dans le « persistence.xml » qu'on peut voir sous une forme brute ici en xml ou sous une forme avec NetBeans un peu plus facile à lire. Avec les différentes options que l'on peut éventuellement moduler, ce qui n'est pas le cas ici pour nous. Et les propriétés, si on en avait à rajouter. Vous noterez d'ailleurs la chaîne de connexions qui est là. Le mot de passe ici en clair. Ceci pourra bien-sûr être changé au moment du chargement de cette couche de persistance. Nous allons justement, dans la prochaine section, voir comment manipuler ces entités dans notre programme pour afficher le contenu de cette base de données.

Découvrir Java pour le web

Développez une application web avec Java. Apprenez à écrire des servlets, des entités ​J​PA (Java Persistence API) d'accès aux données et des pages JSP (Java Server Pages).

2h06 (23 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :25 janv. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !