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

Spring Java Discussion :

Bonne pratique pour externaliser les requêtes SQL


Sujet :

Spring Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 61
    Points : 70
    Points
    70
    Par défaut Bonne pratique pour externaliser les requêtes SQL
    Bonjour.

    Je m'attaque à Spring JDBC et maintenant que je cerne bien le principe, je me demandais comment je pouvais externaliser mes requêtes SQL.

    J'ai vu des tutos expliquant l'externalisation au travers d'annotations, de fichiers XML, etc... mais je me demandais si il existait une solution plus simple avec Spring ?

    Merci à ceux qui prendraient le temps de répondre.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Dév
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Il y a une solution qui consiste à faire des procédures stockées.

    "Une procédure stockée est un ensemble d'instructions SQL pré-compilées, stockées dans une base de données et exécutées sur demande par le SGBD qui manipule la base de données." (Wikipédia : http://fr.wikipedia.org/wiki/Proc%C3...e_stock%C3%A9e)

    Tu crées ta procédure SQL dans ton SGBD, et au niveau java, tu crées une classe DAO qui appelle la procédure.

    Procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    create or replace 
    PROCEDURE LISTE_ADHERENT (liste_ad OUT SYS_REFCURSOR) AS 
    BEGIN 
    set transaction read write; 
    open liste_ad for SELECT nom, prenom
    from ADHERENT_EMPRUNT
    commit; 
    END LISTE_ADHERENT;
    En java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    connect = SessionOracle.getConnection(...); 
     
    		try { 
    				callstmt = connect.prepareCall("call LISTE_ADHERENT(?)"); 
    				callstmt.registerOutParameter(1, OracleTypes.CURSOR); 
    				callstmt.execute(); 
    				ResultSet res = (ResultSet) callstmt.getObject(1); 
     
     
    .......
    Si tu veux des sources, MP

Discussions similaires

  1. [EJB] Quelles bonnes pratiques pour utiliser les transactions "en ligne"?
    Par kisitomomotene dans le forum Java EE
    Réponses: 1
    Dernier message: 12/12/2011, 20h22
  2. Bonne pratique pour centraliser les contacts
    Par akito dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 10/12/2008, 14h48
  3. Réponses: 1
    Dernier message: 10/10/2008, 08h18
  4. Réponses: 4
    Dernier message: 01/10/2008, 08h59
  5. [SQL] Sprintf ou concaténation pour créer les requêtes SQL?
    Par EvilAngel dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/09/2006, 17h08

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