IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[Débutant][Persistance] Conseils pour l'accès aux données


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut [Débutant][Persistance] Conseils pour l'accès aux données
    Bonjour,

    Débutant en J2EE, je viens de lire le livre d'Eric Sarrion intitulé "Developpement web avec J2EE", dans lequel il donne un exemple d'architecture MVC ne faisant appel à aucun framework.

    Dans son exemple, il utilise une seule table "Personne", cette table est modélisée par le javaBean "Personne.java", jusque là tout va bien.

    Par contre, il crée une classe "AccesBd.java", dans laquelle il met à la fois :

    - la connexion à la base de données
    - les méthodes qui effectuent des requetes sql sur la table Personne, c'est à dire carrément les Statement et ResultSet.
    - une méthode de gestion d'exception qui forward vers une jsp d'affichage d'exceptions.

    Je suis débutant, mais d'après les tutos que j'ai pu suivre, ne faudrait-il pas séparer en plusieurs classes le fichier "AccesBd.java"?

    Pour simplifier, j'ai commandé un livre sur struts qui arrivera la semaine prochaine, et en attendant j'aimerai commencer à implémenter les classes d'accès au données de ma base mysql.

    Pourriez vous me donner une architecture "popre", mais sans utiliser hibernate pour le moment, du genre :

    - mettre le code de connexion dans telle classe
    - mettre les méthodes "sql" dans telle classe
    - ...

    merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Je suis au même point que toi, je viens de lire ce livre et je me suis posé la même question

    Voici la solution que j'ai adopté :
    - pour chaque classe, j'ai mis les accès à la base dans une classe MaClasseDAO (en m'inspirant de ce qui est écrit sur cette page : http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html )
    - j'ai complètement externalisé la connection en configurant une source JNDI dans le server.xml de tomcat (c'est expliqué ici : http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Introduction) dans mon code je récupère un objet DataSource qui permet d'avoir directement accès à la connexion

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    ca fait plaisir de voir qu'on est pas seul !
    Merci pour l'info, je vais essayer de comprendre comment tu as fait en lisant ces 2 liens.

    Sinon ton impression génerale sur le livre c'est quoi?

    moi j'ai été un peu déçu, je pensais y trouver plus de choses quand même et surtout avoir des exemples plus propres que ca (le coup de AccesBd.java par exemple)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Moi aussi j'ai été assez décu par le livre, il manque une grosse partie sur les bonnes pratiques, c'est le plus important selon moi car pour la technique on trouve facilement de la doc.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    C'est clair !

    Je suis en train de faire les classe qui représente les tables mysql, (tous les champs et les getter setters), et je me demandais si il existe pas un outil pour génerer les attributs de classe automatiquement, ainsi que le constructeur.

    pour les méthodes, c'est pas un problème, tous les ide générent des getters/setters en fonction des attributs.

    si quelqu'un a un tuyau...

  6. #6
    zl
    zl est déconnecté
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Il existe un putils qui s'appel FireStorm, il est disponible en version gratuite.


    Zl.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    sur leur site officiel ils ne proposent qu'une version d'eval, je l'ai telechargé, et il fallait une licence d'eval qu'ils sont censé t'envoyer par mail mais .... pas de pièce jointe

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut bonnes pratiques
    Bonjour,

    J’ai également lu le livre d’éric sarrion sur J2EE. La méthode proposé dans le livre (exemple mvc2) à le mérite d’être facile à comprendre. Je me suis ensuite posé les mêmes questions que vous sur les méthodes à adopter. Depuis j’ai lu le livre de jean Charles félicité sur struts. Cet ouvrage à l’avantage d’être récent. Après pas mal de difficultés j’ai réussi à faire tourner la plupart des exemples (je n’arrive pas à faire fonctionner l’exemple page 268 utilisant hibernate).l’exemple avec le datasource page 259 fonctionne si l’on se débrouille bien, mais il ne fait qu’ajouter un enregistrement dans une table personne. J’aurai aimé avoir un autre exemple un peu similaire à celui du livre d’eric sarrion (liste des personnes, possibilité de supprimer ou de modifier une personne, possibilité d’ajouter une personne). Je commence maintenant le livre d’anthony patricio sur hibernate. Ce livre recommander en page 189 de ne pas utiliser spring en complément d’hibernate. Spring est pourtant en vogue en ce moment. On se demande ou s’arrêter.

    J’envisage également de jeter un œil aux applications Petshop et AppFuse téléchargeables à partir de http://struts.application-servers.com/screenshots/index.html et de http://struts.sourceforge.net/community/examples.html pour voir comment elle sont écrites (gestion des menus, utilisation de CSS, de tiles ou mieux de sitemesh, log4j, itext,. Sinon le livre de steve holzner sur éclipse est vraiment très bien (tous les exemples fonctionnent). Ce livre donne une bonne approche d’eclipse et des compléments indispensables ( junit, cvs, ant, tomcat sysdeo, …).

    Vallica, pourquoi ne souhaite tu pas utiliser hibernate pour le moment ? Pour passer d’une solution sans hibernate à une solution hibernate cela doit demander pas mal de travail car avec hibernate il n’y à plus de sql ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    Salut ollivier,

    Tout d'abord merci pour ton témoignage , je vais te répondre dans l'ordre.

    Depuis j’ai lu le livre de jean Charles félicité sur struts.
    J'ai commandé moi aussi ce livre (décidémment !), il devrait arriver lundi ou mardi.
    Effectivement, j'avais fait pas mal de tutos Struts téléchargés sur ce site, ils sont tous plus ou moins complet mais un débutant n'y trouve pas les concepts fondamentaux, alors je me suis dit qu'avec un livre lu de A à Z, on je comprendrais les principes et ca ira tout seul.

    Vallica, pourquoi ne souhaite tu pas utiliser hibernate pour le moment ?
    Là aussi je reviens un peu sur ma décision jour après jour, mais si tu veux mon principal souci c'est que je sais que je vais galérer question IHM (donc JSP), parce que je vais vouloir faire des formulaires complexes, et des tableau html remplis à partir de plusieurs tables en bdd, etc...
    et pour le moment je sens que ca va me freiner, mais si Struts m'aide à passer ce cap assez vite (d'où l'achat du livre), et que l'appli tourne convenablement, j'aurais très envie de passer ma gestion des données sous Hibernate !

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut livre sur struts
    si tu as des problèmes lors de la lecture du livre sur struts n hésite demander de l'aide (le livre comporte certaines erreurs et l'on perdre pas mal de temps à comprendre ce qui ne va pas).

    Sinon ce que tu propose pour le moment dans l'autre message semble correct.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    Ok, merci beaucoup pour ton soutient ! à bientôt surement...

  12. #12
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Points : 484
    Points
    484
    Par défaut Re: bonnes pratiques
    Citation Envoyé par ollivier
    Ce livre recommander en page 189 de ne pas utiliser spring en complément d’hibernate. Spring est pourtant en vogue en ce moment. On se demande ou s’arrêter.
    Est-ce que quelqu'un sait pourquoi ?
    Quel outil de mapping O/R utiliser avec Spring ?
    Mes premiers tests ont l'air satisfaisant. J'aimerai bien connaître les arguments de l'auteur.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut pring ou pas spring avec hibernate
    p 189 anthony patricio écrit dans sont livre sur hibernate que basculer vers spring uniquement pour utiliser des automatismes de gestion de session hibernate est un mauvais choix car si une nouvelle version d'hibernate est disponible il faut attendre une version de spring compatible avec la nouvelle version d'hibernate.

    On peut donc pensez que si spring a été choisi pour d'autres raisons, le choix est alors justifié. Si vous avez des arguments concernant l'utilisation ou non de spring ca m'intéresse.

    Connaissez vous un tutoriel permettant de créer sous eclipse si possible un petit exemple utilisant struts et hibernate avec mysql ? Je vais jeter un oeil au tutoriel hibernate présent sur developpez.com.

    Certaines personnes ayant utilisé hibernate et iBatis recommandes iBatis pour sa simplicité.

    Les temps de réponses sont ils les mêmes avec iBatis et hibernate ? Est il plus facil d'optimiser les temps de réponse avec iBatis ?

    J'ai quand même décidé d'utiliser hibernate car il est je pense plus utilisé par les ssii francaises.

  14. #14
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Citation Envoyé par vallica
    C'est clair !

    Je suis en train de faire les classe qui représente les tables mysql, (tous les champs et les getter setters), et je me demandais si il existe pas un outil pour génerer les attributs de classe automatiquement, ainsi que le constructeur.

    pour les méthodes, c'est pas un problème, tous les ide générent des getters/setters en fonction des attributs.

    si quelqu'un a un tuyau...
    Tu n'utilises pas un IDE pour développer?

    Si la réponse est oui sache que dans la plupart des IDE tu as cette option (ex sur eclipse tu fais un click droit sur ta classe et tu as une methode generate getter and setter, idem pour les constructeurs).

    Maintenant si la réponse est non, alors telecharge en un tout de suite,
    ta vie va changer

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    salut,

    J'utilise Netbeans, donc ok pour les getters et setters mais j'ai pas trouvé pour le constructeur...

    Mais ce que je cherchais carrément c'est un outil qui se connecte à ma base de données et qui me crée tout le bean entièrement (champs+methodes+constructeur complet).

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut tutoriel hibernate struts
    Le meilleur tutoriel que j’ai trouvé pour le moment pour apprendre à utiliser hibernate avec struts est sur http://www.laliluna.de/struts-hibernate-integration-tutorial-en.html L’auteur recommande d’utiliser le plugin myeclipse. Ce plugin n’est pas gratuit. Je vais donc essayer de faire le tutoriel sans ce plugin.

  17. #17
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Points : 484
    Points
    484
    Par défaut Re: pring ou pas spring avec hibernate
    Citation Envoyé par ollivier
    On peut donc pensez que si spring a été choisi pour d'autres raisons, le choix est alors justifié. Si vous avez des arguments concernant l'utilisation ou non de spring ca m'intéresse.
    1. Pour me former au Design Pattern IoC
    2. Pour pouvoir changer les briques de mon appli assez facilement. En théorie, quand on regarde les exemples, ça à l'air hyper-simple. En pratique je verrai bien , mais l'apprentissage est rude quand même.


    Citation Envoyé par ollivier
    Certaines personnes ayant utilisé hibernate et iBatis recommandes iBatis pour sa simplicité.

    Les temps de réponses sont ils les mêmes avec iBatis et hibernate ? Est il plus facil d'optimiser les temps de réponse avec iBatis ?

    J'ai quand même décidé d'utiliser hibernate car il est je pense plus utilisé par les ssii francaises.
    J'ai choisit Hibernate pour les raisons suivantes :
    1. Me former
    2. Documentation et tutoriel en français abondant.
    3. Il me semble aussi pas mal utilisé dans les SSII

    Je pense aussi écrire ma couche DAO avec Ibatis. Ensuite je choisirais l'un ou l'autre des frameworks en fonction de sa simplcicité et de ses performances

  18. #18
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Points : 484
    Points
    484
    Par défaut
    Voici des avis sur Hibernate Vs Ibatis ( blog de appFuse ) :
    http://raibledesigns.com/page/rd?entry=hibernate_vs_ibatis#comments

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    Bonjour,

    J'ai une nouvelle question concernant les stratégies d'implémentation de la couche DAO sans framework.

    J'ai fait un bean par table mysql dans ma base, donc une classe avec les champs, un constructeur complet et les getters/setters.

    Cependant, je me demande dans le cas où un des champs est une clé étrangère, comment la gérer?

    Par exemple un dans la table "employés" j'ai une refService qui est une clé étrangère vers la table service qui stocke les différents services de la boite.
    Est-ce que je laisse une valeur numérique dans le bean employé, puis lorsque j'en ai besoin j'appelle une méthode sur le bean des services du genre getService(Integer idService)?

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut tutoriels struts hibernate spring
    Le tutoriel ‘first steps using struts and hibernate’ http://www.laliluna.de/struts-hibernate-integration-tutorial-en.html est bien fait. Il est possible de le suivre sans utiliser myeclipse.

    Sur le même site il existe également un tutoriel ‘Spring DAO with JBDC’. A tester.

    Ceux souhaitant découvrir JSF y trouverons également de quoi satisfaire leur curiosité.

Discussions similaires

  1. Conseils pour création d'une base de données.
    Par juninho dans le forum Débuter
    Réponses: 2
    Dernier message: 14/05/2015, 20h31
  2. [WD15] Conseils pour remplissage d'une base de données
    Par nrdz83 dans le forum WinDev
    Réponses: 2
    Dernier message: 30/01/2012, 22h20
  3. Conseil pour un acces aux données a distance
    Par mactwist69 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 09/02/2009, 11h46
  4. Conseils pour la création d’une base de donnée
    Par Isabelle27 dans le forum Access
    Réponses: 2
    Dernier message: 09/10/2006, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo