<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Utiliser JDBC à partir de Jython - Chicoree</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython</link><atom:link href="http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[
Jython est livré avec le module xzJDBC qui permet d'accéder à une base de données à partir d'une API (Application Programming Interface – L'ensemble des spécifications de classes, méthodes, fonctions, constantes, etc. qui permettent d'utiliser une technologie dans un programme.)  compatible avec Python DB API 2.0. Néanmoins, il est aussi possible d'utiliser JDBC à partir de Jython pour accéder à une base de données. C'est utile, par exemple si vous êtes déjà familier de JDBC. Ainsi, vous pouvez accéder à la simplicité du langage Python – sans pour autant devoir apprendre une nouvelle API. Et c'est justement ce que nous allons faire ici.
]]></description><item><title>1 Préparation</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Pr.C3.A9paration</link><description><![CDATA[<p>Avant toute chose, nous allons préparer la base. Ici, j'utiliserai PostgreSQL comme serveur de base de données.
</p>]]></description></item><item><title>2 Utiliser JDBC dans Jython</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Utiliser_JDBC_dans_Jython</link><description><![CDATA[<p>Pour commencer très doucement, nous allons juste nous assurer que vous pouvez accéder au driver JDBC de PostgreSQL à partir de Jython. Cela impliquera sans doute de modifier le CLASSPATH:
</p>]]></description></item><item><title>2.1 Tester l'accès au driver</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Tester_l.27acc.C3.A8s_au_driver</link><description><![CDATA[<p>Pour commencer très doucement, nous allons juste nous assurer que vous pouvez accéder au driver JDBC de PostgreSQL à partir de Jython. Cela impliquera sans doute de modifier le CLASSPATH:
</p>]]></description></item><item><title>2.2 Connexion à la base</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Connexion_.C3.A0_la_base</link><description><![CDATA[<p>Rentrons maintenant dans le vif du sujet. Nous allons nous connecter à la base <i>tracabilite</i> à partir de Jython:
</p>]]></description></item><item><title>2.3 Requête</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Requ.C3.AAte</link><description><![CDATA[<p>Bon, il est temps de faire quelque chose de <i>vraiment</i> plus intéressant. Autrement dit, notre première requête. Ici, je vais donc ajouter une méthode <tt>doQuery</tt> à ma classe <tt>DBHelper</tt>. Et appeler cette méthode pour effectuer une recherche dans la base:
</p>]]></description></item><item><title>2.4 Utiliser une fonction de traitement</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Utiliser_une_fonction_de_traitement</link><description><![CDATA[<p>Pour l'instant, le traitement est codé en dur dans la méthode <tt>doQuery</tt>. Et il n'est guère utile, ni robuste d'ailleurs, puisqu'il se contente d'afficher le contenu de la première colonne du résultat.
</p>]]></description></item><item><title>2.5 Abstraction totale de JDBC</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Abstraction_totale_de_JDBC</link><description><![CDATA[<p>Peut-être que l'idée de passer le <tt><a><span>ResultSet</span></a></tt> en argument à la fonction de traitement vous semble en désaccord avec l'idée d'abstraire celle-ci des problèmes de mise en oeuvre de JDBC. Effectivement. Mais il est possible de faire <i>mieux</i>. En effet, la méthode <tt>doQuery</tt> peut être ré-écrite ainsi:
</p>]]></description></item><item><title>2.6 Générateur</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#G.C3.A9n.C3.A9rateur</link><description><![CDATA[<p>Notre exploration de l'utilisation de JDBC <i>sauce Python</i> arrive à sa fin. Cependant, avant de terminer nous allons exploiter les <b>générateurs</b> introduits avec Python 2.3 pour simplifier le parcours du résultat de la requête.
</p>]]></description></item><item><title>3 Conclusion</title><link>http://www.chicoree.fr/w/Utiliser_JDBC_%C3%A0_partir_de_Jython#Conclusion</link><description><![CDATA[<p>Au premier abord, JDBC ne semble pas être une des bibliothèques Java qui peut bénéficier le plus d'une utilisation de Jython. Pourtant, à l'usage il apparaît que, grâce à des constructions comme les <a>compréhensions de liste</a> ou les générateurs, le code peut être simplifié pour devenir nettement plus lisible que sa contre-partie Java.
</p>]]></description></item></channel></rss>
