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

Persistance des données Java Discussion :

méthologie d'un projet j2ee


Sujet :

Persistance des données Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut méthologie d'un projet j2ee
    Bonjour,
    Récemment j'ai eu une réflexion d'un chef de projet comme quoi mes requêtes sql ne devaient pas être présente dans mon code.
    Ainsi j'aurais aimé savoir où stocker celle-ci ,dans un fichier xml? où y a-t-il une méthode plus propre?
    Activ-developpement.net - Entreprise de creation site

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Vous mettez vos requêtes sql dans le code directement ou autre?
    Dites moi sa me rassura peut être.....

    Sinon suite à cette remarque j'ai mis toutes mes requêtes dans un fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <apprequete>
    <selectallmembre>select * ...... where truc=?</selectallmembre>
    </apprequete>
    vous en pensez quoi???
    Activ-developpement.net - Entreprise de creation site

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Dans les faits, ce qui compte, c'est l'agilité

    Si tu as 2 requêtes, laisse les dans ton code.
    Si tu en as plus, cela peut être bien de les sortir du code mais la questi à se poser alors est: pourquoi faire ?

    Si c'est pour la mise au point, parcequ'elles peuvent changées, je pense sincèrement que c'est un faux prétexte car souvent, si la requête change, les traitements changent aussi donc il y as nécessité de ré ouvrir le code.

    Pour ma part, je suis partisant des requêtes externalisées pour des raisons d'optimisations parceque je part du pricipe que c'est à un DBA d'affiner l'optimisation des requêtes et non au développeurs qui (aie, pas sur la tête) n'as pas toujours une bonne connaissance du langage SQL, de ses rouages et de la la manière optimale d'écrire des requêtes pour une base de données précise.

    Remettons les choses dans leur contexte, je travail beaucoup avec des grands et très grands comptes, je ne peu donc pas justifier ma démarche et mon avis sur la question sur des projets que je ne connais pas et dans un environnement tecnique que je ne maitrise pas (connaissance des équipes de développement, conaissance de la connaissance du client, etc..)
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    quelle est ta méthode d'externalisation?
    Activ-developpement.net - Entreprise de creation site

  5. #5
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 224
    Points : 116
    Points
    116
    Par défaut
    vous en pensez quoi???
    Vive HIBERNATE !!!
    Peut tu nous donner des précisions sur ton code car la réponse dépend de l'endroit ou tu places ces requêtes. En effet si tes requétes sont placées en dur dans tes pages Jsp c'est pas vraiment l'idéal.
    En ce qui me concerne mes requêtes se trouves dans mon code Java mais sont centralisée dans des DAOs.
    Petit à petit, l'oiseau fait son nid !

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Citation Envoyé par romano2003
    quelle est ta méthode d'externalisation?
    Je monte des architectures princpalement basée sur du Hibernate pour la persistance donc, dans mes fichiers hbm j'ai :
    - mapping hibernate
    - requêtes spécifique statique en HQL (si possible) ou SQL (agilité)

    Quelques requêtes dynamiques dans le code (Criteria et/ou Example)

    Sinon j'utilise Ibatis et là, même les requêtes dynamiques sont codées dans les fichiers d'Ibatis
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Mes requêtes ne sont pas mis en dur dans ma jsp.
    Dans mes jsp je n'utilise que les tag struts donc pas de code.
    Mes requêtes sont directement dans ma couche métier dans mes beans .

    Merci .
    Activ-developpement.net - Entreprise de creation site

  8. #8
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 224
    Points : 116
    Points
    116
    Par défaut
    Mes requêtes sont directement dans mes classes java.
    Ton chef de projet doit avoir raison alors. Pour les tagLib dans tes jsp c'est parfait mais du coté du Model tu doit avoir un découpage du type DAO/POJO pour séparer l'accés à la base des objets métiers de ton projet
    Petit à petit, l'oiseau fait son nid !

  9. #9
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Citation Envoyé par BRAUKRIS
    Ton chef de projet doit avoir raison alors. Pour les tagLib dans tes jsp c'est parfait mais du coté du Model tu doit avoir un découpage du type DAO/POJO pour séparer l'accés à la base des objets métiers de ton projet
    Il n'a pas dit que ses requetes étaient dans les objets metier, mais juste qu'elles etaient dans les classes java. S'il travaille direct en JDBC, les requetes peuvent tout à fait se trouver dans des DAO et donc externalisée des objets metier. Cependant, elles ne sont pas externalisées du code, c'est un fait.

    Les externalisées dans des fichiers XML peut être une solution dans ce cas, avec l'utilisation de PreparedStatement qui permettent d'ajouter facilement des parametres.
    Cependant, quand on souhaite avoir beaucoup de flexibilité (parametrage des tri...), ca complexifie les choses (ce qui ne veut pas dire que ce n'est pas possible )
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  10. #10
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Je suis pour ma part partisant du stockage des requêtes dans un fichier properties.

    Utiliser du XML pour cela me parrait exagérer : il n'y a pas besoin d'avoir une arborescence pour stocker des requêtes SQL; alors un fichier properties suffit.

    J'ai expérimenté le principe suivant, et ça fonctionne très bien :

    1) requêtes dans un fichier properties ( ou plusieurs, si il y a besoin de séparer certaines entités ) avec un nom explicite par requête, et la requête à coté ( généralement, c'est une requête de type PreparedStatement )

    2) Récupération des requêtes, et création ( progressivement, et en fonction des besoins ) d'une HashTable contenant la requête, et le nom de celle-ci ( comme dans le fichier properties, mais en mémoire )

    3) Une classe "SQLRequete.getRequete(String nomRequete)" qui retourne la requête, toute prête à être intégrée dans le PreparedStatement.

    C'est assez rapide Seul problème : impossible de changer en dynamique le fichier properties et espérer que ça fasse un changement; Mais bon en général ce n'est jamais requis !

    A+
    K

  11. #11
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Ah et bien sûr, il faut utiliser des classes DAO pour accéder à la BDD, mais ça c'est évident

    Donc :

    [client/présentation] --- [metier] --- [DAO]

    DAO utilise le système décrit précédemment pour récupérer les requêtes, ainsi aucune requête dans le code.
    K

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    merci beaucoup, je lis attentivement vos réponses.Et je vous tiens au courant.J'ai pensé à la même méthode que toi KiLVaiDeN cependant je n'utilise pas de classe DAO pour l'accès aux données.Je pense que je vais me diriger vers cette méthodologie.
    Merci beaucoup.
    Activ-developpement.net - Entreprise de creation site

Discussions similaires

  1. comment structurer une modél. UML - projet J2EE avec pattern
    Par RocketArena dans le forum Architecture
    Réponses: 18
    Dernier message: 20/07/2007, 19h20
  2. [eclipse] créer projet j2ee
    Par jamal_b dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 09/03/2006, 10h56
  3. [Débutant] Projet J2EE WAR
    Par tatemilio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/02/2006, 10h02
  4. [plugin]bonne config pour projet j2ee
    Par pas05 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/04/2005, 10h19
  5. [Lomboz]Création d'un projet J2EE
    Par woodwai dans le forum Eclipse Java
    Réponses: 11
    Dernier message: 03/08/2004, 14h53

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