EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Programmation arrow J2EE/Java(script) arrow Procédures stockées et performances de JDBC
Samedi 5 juil 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ? 
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
Lettres de nouvelles
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
avr 12 2006
Procédures stockées et performances de JDBC Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
FaibleMeilleur 
Programmation - J2EE/Java(script)
Ecrit par Kamal AOUDA   
12-04-2006
Procédures stockées et performances de JDBC

Les procédures stockées contiennent du code SQL (pré)compilé. Elles permettent d'exécuter des requêtes complexes ou des instructions SQL régulièrement utilisées. Contrairement aux requêtes simples, les procédures stockées résident dans la base de données. Pour les déclencher on a pas besoin de transporter le code SQL du client vers le serveur. Parce qu’elles sont conservées dans la base de données sous une forme exécutable, il suffit de les appeler un peu comme on le ferait avec une fonction ou une procédure dans un langage structuré.


A l’instar des méthodes d’objets, les procédures stockées sont capables de recevoir des paramètres d'entrée et de retourner des valeurs en sortie. Cela permet de réduire considérablement le trafic entre le client et le serveur en limitant les données échangées aux appels des procédures et à leurs paramètres.

Notons par ailleurs que l’exécution d’une procédure stockée est plus rapide que celle d’une requête normale parce qu’elle profite de la puissance du serveur qui est généralement mieux nanti que le poste client. Un autre avantage des procédures stockées a trait à la facilité de mise à jour et de déploiement. En effet parce que le code SQL est centralisé les modifications apportées à la procédure stockée sont automatiquement répercutées sur tous les clients qui l’appellent.

Pour appeler une procédure stockée via JDBC, il faut obtenir une référence vers un objet de type CallableStatement par l'intermédiaire de la méthode prepareCall de l'interface Connection. Cette méthode reçoit un paramètre de type String qui correspond au nom de la procédure stockée précédé du mot clé call.

Nous présenterons dans le reste de cette section un exemple simpliste pour montrer comment appeler une procédure stockée à partir de JDBC.

Sous MySql 5.0 les instructions suivantes permettent de créer une procédure stockée appelée SHOW_SUPPLIERS(). Ces instructions sont conformes à la norme

 SQL:2003 qui est aussi utilisée dans DB2.
create procedure SHOW_SUPPLIERS ()
SELECT SUPLLIERS.NAME_SU, CAFE.NAME_CAFE
FROM SUPPLIERS, CAFE
WHERE SUPPLIERS.SU_ID = CAFE.SU_ID
order by NAME_SU


La procédure SHOW_SUPPLIERS() sera compilée et stockée dans la base de données comme un objet qui peut être appelé de façon similaire à l'appel d'une méthode. Pour appeler SHOW_SUPLLIERS() à partir de JDBC il faut créer un objet CallableStatement. L’objet CallableStatement contient l'appel d'une procédure et non la procédure elle-même. Dans le code ci-dessous, les instructions entre accolade appellent la procédure stockée. Quand le driver rencontre "{call SHOW_SUPPLIERS}", il traduit ces instructions dans le code SQL natif utilisé par la base de données pour appeler la procédure stockée nommée SHOW_SUPPLIERS(). La méthode executeQuery de l’objet cs renvoie le résultat de la procédure stockée dans un ResultSet.

CallableStatement cs = conn.prepareCall("{call SHOW_SUPPLIERS}");
ResultSet rs = cs.executeQuery();
 

< Précédent   Suivant >
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles

Cet ouvrage montre comment tirer parti de l'offre Java-XML d'Oracle, tant au niveau de la base de données Oracle8i (drivers JDBC, conteneur EJB, ORB Corba, XSQL...), que des produits associés, outils XML-XSLT, JDeveloper, Oracle9i Application Server, etc.


L'ouvrage insiste tout particulièrement sur les problèmes d'intégration de ces technologies, de design des architectures et de scalabilité des applications. II est illustré de nombreux exemples de code et de deux études de cas, une application e-commerce construite à l'aide d'EJB et un serveur de documents XML multithread.

 

Références

 

Lien sur le site d'Amazon.

Fréderic Berque, Serge Frezefond, Ludovic Sorriaux

Titre : Java, XML et Oracle
Éditeur : Eyrolles
Collection : Solutions Développeurs
Parution : mars 2001
634 pages
ISBN : 2-212-09149-4
EAN13 : 9782212091496

Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

En Java, quelle la meilleure technique pour programmer un panier d’achat ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround