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

JDBC Java Discussion :

jdbc : séparer le code sql du code java


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Par défaut jdbc : séparer le code sql du code java
    Bonjour à tous !

    Je développez une application batch java, ainsi qu'une application web JSF avec des accès JDBC dans les deux cas.
    Afin de séparer le code SQL du code JAVA, j'aimerais disposer les requetes dans un fichier à part.

    Mais je ne sais pas comment m'y prendre .... Y a t-il des solution standards ?

    Dois je les mettre dans un fichier properties ?

    Merci de vos réponses et je vous souhaite une bonne journée.

    Laurent

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    JDBC n'est pas conçu pour séparer ces 2 choses dans la mesure où l'application aura besoin de "savoir" comment est constitué la requête (paramètres, types etc).
    Donc, hormis les requêtes sans paramètres et donc en lecture seule, le couplage est fort.

    Il serait plus judicieux de créer une couche de "services" commune à tes 2 types d'utilisation et normalisée.

    En termes d'outils, il y a hibernate qui t'épargne une partie du travail.
    C'est plutôt top, mais ça suppose une prise en main relativement conséquente...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Par défaut
    Merci beaucoup de ta réponse.
    En effet, je comprends ce que tu dis.
    Je connais Hibernate, mais dans mon cas son utilisation n'est pas préconisé (règles de développement strictes ....)

    Merci encore, et je te souhaite une bonne journée.

    LAurent

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    La solution que j'ai vu le plus souvent consiste à écrire le code SQL dans des constantes publiques. Le code Java effectuant l'appel SQL ne contient aucun code SQL mais uniquement la constante.
    Dans certains cas, les constantes faisaient partie de la classe concernée. Dans d'autres, elles étaient regroupées dans une classe unique.

  5. #5
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Bonjour,

    Il est possible d'externaliser les requêtes (même avec paramètres) dans un fichier grâce à l'api DBUtils de Jakarta.

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    OK, on peut externaliser, mais même avec DBUtils, tu es obligé de connaître le nombre de paramètres (et leur type)...
    Tu peux tout aussi bien externaliser la chaîne "select * from Table where ID=?" dans un fichier de propriétés, utiliser un PreparedStatement et ajouter le paramètre... DBUtils n'apporte pas grand chose de plus...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. ajouter un script .sql à mon code JAVA
    Par samia004 dans le forum JDBC
    Réponses: 9
    Dernier message: 13/07/2010, 16h04
  2. Création BD Access Code SQL pour relation 1-1 ?
    Par colorid dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/10/2005, 16h42
  3. Réponses: 7
    Dernier message: 12/09/2005, 11h05
  4. [IB6] Code SQL.
    Par qi130 dans le forum SQL
    Réponses: 1
    Dernier message: 21/02/2005, 12h21
  5. Récupérer le code SQL à partir d'une requête
    Par Edith_T dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 23/11/2004, 14h10

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