Vous êtes sur la page 1sur 16

Livre blanc

Persistance

Tutorial
Par l’équipe des Lions indomptables

Pour plus d’information : Visitez notre site : www.ippon.fr Ou contactez-nous au 01-46-12-48-48 Copyright novembre 2006 Ippon Technologies

....................................1 2....................................................................................................................................................................... reproduit ou publié sans son autorisation préalable................................................................................................................................................................................................................................................................................6 ABATOR ..................................................... 6 2.............................................................................................................3 UNE EXPERTISE UNIQUE ..............................6 2 INTRODUCTION .................................................................................................................................4 POLES DE COMPETENCE............... 3 1.... 14 REFERENCES .........................................................................................................................3 LIBRAIRIES NÉCESSAIRES ....2 3 4 FONCTIONNEMENT IBATIS ......................................................................3 UNE OFFRE DE SOLUTIONS SUR MESURE .............................................. 8 4...................................1 4.......................................................8 APPEL DE LA REQUÊTE ..........................................................................................................................................3 1................5 PRÉSENTATION DE IBATIS.....................................2 1..............................................................................8 UTILISATION DE ABATOR : GÉNÉRATION DE CODE POUR IBATIS .............. 16 Livre blanc iBatis -2– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé........................................................................................ 7 EXEMPLE D’UTILISATION ........................................................................................................11 5 6 7 CONCLUSION.......................................2 4................................................................................................................................................................................................................................................TABLE DES MATIERES 1 IPPON TECHNOLOGIES ................................................................... 13 SOURCES .................................1 1............................................ ..........................................................................................................................................................................................................................4 IMPLANTATIONS.................................................

migration J2EE. de ses API et surtout des design patterns spécifiques à la plate-forme J2EE. 2. approche métier. méthodologie de réalisation. Le J2EE. respect des normes et standards de développement. développement. sur la plate-forme J2EE notamment. intégration de solutions. assistance à MOA et MOE. choix d'outils. J2ME ou J2SE imposent une maîtrise totale du langage Java. La conception et le développement Ippon Technologies apporte à ses clients son expertise sur la globalité de la réalisation des applications distribuées : conception. Le rythme des embauches est considérable et de nombreux nouveaux clients font chaque année confiance à la société. fiables et sécurisées en prenant en charge l'évolution constante de leurs processus. Depuis sa création en 2002.1 Ippon Technologies Ippon Technologies est une société de services informatiques spécialisée dans les architectures distribuées à base de nouvelles technologies et plus particulièrement sur la plate-forme J2EE. Ippon Technologies s'est imposée sur le marché du J2EE et affiche une progression forte et régulière de son chiffre d'affaires. .. ingénieurs de développement ou administrateurs en production. une solution d'infrastructure Livre blanc iBatis -3– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. reproduit ou publié sans son autorisation préalable. architecture. Ippon Technologies connaît depuis sa création une croissance remarquable. Le suivi en exploitation Ippon Technologies procure à ses clients les moyens nécessaires à l’exploitation et à la maintenance d’infrastructures flexibles. consultants fonctionnels. Qu'ils soient architectes. Ippon Technologies est née en 2002 sous l'impulsion de sportifs de haut niveau et de managers issus de grandes sociétés de conseil. En appliquant les exigences du sport de haut niveau à l'univers des nouvelles technologies.1 Pôles de compétence Elle offre à ses clients des solutions fiables et performantes dans le domaine de l'ingénierie informatique et de l'intégration de solutions e-business. Ceci est d'autant plus important que les projets J2EE. 1. 3. ils ont tous une solide culture J2EE entretenue par des formations fréquentes externes ou internes.2 Une expertise unique Les collaborateurs d'Ippon Technologies sont expérimentés et maîtrisent parfaitement l'environnement technologique dans lequel ils sont amenés à évoluer. intégrateurs de solution. 1. interfaçage de systèmes d'informations. L'audit et le conseil Ippon Technologies accompagne ses clients dans l'évaluation et le choix des différents processus de réalisation : audit d'architecture.. 1. L’offre d’Ippon Technologies s’organise autour de trois pôles de compétences pour répondre aux objectifs de ses clients. intégration. 1.

Elle a également été conçue pour s’interfacer aisément avec un existant afin de faciliter l’évolution des infrastructures. 4. BEA. 3. cette plate-forme est arrivée à un grand niveau de maturité. 1. Elle offre une large panoplie d’outils permettant de construire ses applications sans se lier à un fournisseur. Si le SOA ne réinvente pas tout. Web Services : un outil d'intégration à l'échelle mondiale L’objectif des Web Services est de faciliter l’accès aux applications entre entreprises. TogetherJ. Élaborée sous la houlette de Sun en coopération avec d'autres acteurs majeurs (IBM. Objecteering. Ippon Technologies connaît les différentes plates-formes mobiles et vous conseille dans le choix des terminaux ou applications mobiles. 2. La diversité règne au niveau des systèmes d’exploitation. le J2SE.Java 2 Micro Edition . il s'appuie cependant sur des méthodes d'orchestration déjà bien connues . Les ingénieurs d’Ippon Technologies ont une très bonne expertise autour des différents ateliers du marché (Rational Rose. etc. J2ME .3 Une offre de solutions sur mesure Ippon Technologies dispose de compétences pointues sur les principales offres du marché en matière d'infrastructure e-business.telle la gestion de règles métier . J2ME : la mobilité sans immobilisme L'évolution vers de nouveaux processus mobiles est enclenchée. L’architecture SOA : intégration des composants applicatifs Cette approche repose sur la réorganisation des applications en ensembles fonctionnels appelés services. etc. ce qui est beaucoup plus efficace. HP. Oracle.La plate-forme J2EE permet le développement rapide d’applications complexes capables de supporter de fortes charges dans des environnements fortement sécurisés. .). Poseidon.pour assurer le routage des flux et des requêtes vers le bon service de destination en fonction des demandes. 5. Mega.) et ainsi de simplifier les échanges de données. La dynamique des développements autour du J2EE est telle qu'Ippon Technologies réalise une veille technologique constante afin d’identifier les solutions qui feront les projets de demain.très proche de son équivalent « Desktop ». qui permettent aux entreprises d'utiliser efficacement la masse d'informations qu'elles détiennent : Livre blanc iBatis -4– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. etc. Mainframe.NET. La notation UML : le support de la méthode UML est devenu un standard incontournable du monde informatique. indépendamment de l’approche technologique qu’elles ont retenue (J2EE.). UML permet notamment de modéliser une application en la construisant et en la validant par étapes. . mais aucune technologie ne s’est encore imposée. permet notamment de ne pas se lier à un système d’exploitation en reprenant les principes de machine virtuelle propre à Java. Un service n'est autre qu'une application généralement exposée par le biais d'une interface XML standard (langages SOAP/WSDL). reproduit ou publié sans son autorisation préalable.

qui travaillent tant sur des projets locaux que sur des projets nearshore. Fédérer. Fidéliser.4 Implantations En juillet 2006. afin de faire évoluer intelligemment son SI Les solutions mises en place par Ippon Technologies privilégient les quatre axes suivants : 1. le bureau de Casablanca compte déjà une douzaine de collaborateurs. Livre blanc iBatis -5– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. Les portails d'entreprises qui offrent un accès unifié à l'information L'EAI. reproduit ou publié sans son autorisation préalable. 2. En plus de sa proximité géographique et politique. Autant de raisons qui ont poussé Ippon Technologies à s’installer à Casablanca pour y proposer ses services à des sociétés marocaines qui ont besoin de rentrer de plain-pied dans la sphère des nouvelles technologies. Intégrer.1. par la mise en place d’un portail d’entreprise 3. 4. Pour les autres. Ippon Technologies a ouvert sa première filiale au Maroc. pour optimiser l'utilisation des informations Le CRM. Certains des clients français d’Ippon Technologies sont déjà implantés au Maroc et pourront poursuivre sur place leur collaboration avec Ippon. par la refonte d’applications stratégiques vers les nouvelles technologies 2. 3. cet établissement « nearshore » permettra de leur offrir un volant plus large de ressources si besoin. en optimisant la rentabilité opérationnelle des clients par une offre de services et des fréquences de relances adaptées 1. le Maroc est un marché en plein développement. A peine ouvert. . Rénover. ouvert sur les nouvelles technologies et qui forme des ingénieurs qualifiés. pour mettre la technologie au coeur de la satisfaction du client La rénovation logicielle. en facilitant l’échange d’information entre les systèmes à l’aide des technologies d’EAI 4.

la prise en main de ce framework est rapide. D’autre part. Abator simplifie encore plus l'utilisation d’iBATIS. Il s’agit d’un framework de persistance qui permet de faire un mapping entre des requêtes SQL et des JavaBeans. 2. Ceci permet ainsi de dissocier les requêtes SQL des DAO. Livre blanc iBatis -6– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. . tables et autres…) et génère les Beans correspondant aux tables et les fichiers de configurations propre à iBATIS. reproduit ou publié sans son autorisation préalable. A la différence d'Hibernate. Disponible en standalone et sous forme de plug-in Eclipse.2 Abator Abator est un outil de génération de code et de fichiers de mapping pour iBatis. outils de persistance.1 Présentation de iBatis iBATIS est un projet opensource de la communauté Apache. au même titre qu’Hibernate.2 Introduction Ce document est une présentation technique générale de « iBatis ». l’utilisateur d’iBATIS reste maître du SQL généré : il est ainsi possible de tuner exactement les requêtes et de vérifier exactement les requêtes exécutées sur la base. Abator prend en entrée un fichier xml qui décrit la base (connexion. iBATIS utilise un fichier de description XML pour mapper les Objets à des procédures stockées SQL. 2.

3 Fonctionnement iBatis Ce chapitre présente les étapes par lesquelles iBATIS passent pour stocker un objet en base. Livre blanc iBatis -7– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. Note : La requête est définie de manière identique dans le fichier de configuration XML que le résultat soit un objet unique ou une liste. iBATIS mappe alors dynamiquement les données de l’objet dans la requête SQL et l'exécute. l'objet paramétré comme objet de résultat est renvoyé. .. Etape 2. Un objet métier ou de type natif (int. Etape 3. Etape 4. Note : L'objet métier passé en paramètre (ou objet à renvoyer en résultat) doit comporter les accesseurs correspondant aux données demandées dans la requête SQL sinon iBATIS renvoie une erreur. Dans le cas d'un select. string. reproduit ou publié sans son autorisation préalable.. iBATIS cherche la définition du composant métier dans la balise alias de son fichier de configuration. Dans le cas d'un update. le nombre de lignes affectées est renvoyé.) est fourni en paramètre à iBATIS. Etape 1.

jar • ibatis-dao-2.jar » est seulement utile pour générer les fichiers de configuration et les Beans.. « ippon-abator0.xml : <project name="iBatis" default="genfiles" basedir=".xml » qui spécifie : • les paramètres de connexion à la base et le driver utilisé • la table qui sera mappée • le répertoire on sera générer les Beans dao/vo • le répertoire on sera générer les fichiers de mapping iBatis Livre blanc iBatis -8– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.6.lib.properties"/> <!-.1 Exemple d’utilisation Librairies nécessaires Les librairies suivantes doivent être présentes dans le classpath de l’application : • ibatis-common-2.ibatis.AbatorAntTask" classpath="${abator. .apache.dir}/lib.genfiles overwrite="true" configfile="abatorAffaireConfig. ojdbc14.jar • le driver de la base de données : dans le cas d’Oracle. dont voici un exemple de fichier build.ant.génération des fichiers de mapping ibatis avec abator--> <target name="genfiles" description="Generate the files" depends="clean"> <taskdef name="abator.Library versions and JARs --> <property file=".abator./services/build.4 4.jar La librairie Abator.0."> <!-.genfiles" classname="org.2 Utilisation de Abator : génération de code pour iBATIS L’outil Abator de génération de code sera lancé à partir d’une tache Ant « AbatorAntTask ».jar}" /> <abator. reproduit ou publié sans son autorisation préalable.xml" /> </target> <target name="clean"> <delete includeEmptyDirs="true"> <fileset dir="src/fr/ippon/dao/tools/maps/" includes="**/*"/> <fileset dir="src/fr/ippon/dao/vo/" includes="**/*"/> </delete> </target> </project> L’exécution de la tache genfiles va chercher les informations dans le fichier de configuration d’Abator « abatorAffaireConfig.properties"/> <property file="${global. mais non pour le contexte d’exécution.jar • ibatis-sqlmap-2. 4.

ippon.jdbc. l’ensemble des fichiers de configuration iBATIS.ippon.jar" /> </jdbcConnection> <javaModelGenerator targetPackage="fr.vo" targetProject="dao/src" type="fr. dans notre cas : Affaire.Il est possible de lister plusieurs fichiers de configurations Abator à la liste des genfiles et ainsi générer l’ensemble des Beans correspondant à une base entière.apache.java.78:1525:IPPONDEV" userId="*******" password="*******"> <classPathEntry location="lib/oracle/ojdbc14.TODO: Add Database Connection Information --> <jdbcConnection driverClass="oracle. Cette classe décrie à l’identique la structure de la table Affaire.maps" targetProject="dao/src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <table schema="AFFAIRE" tableName="AFFAIRE"/> </abatorContext> </abatorConfiguration> L’exécution de la tache Ant pour la table AFFAIRE de la base AFFAIRE génère dans : • dao/vo/affaire .org/dtd/abator-config_1_0.Voici un exemple de fichier de configuration : abatorAffaireConfig. reproduit ou publié sans son autorisation préalable.xml <?xml version="1.196.ippon. • dao/tools/maps/affaire.dao. . Livre blanc iBatis -9– Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.dtd"> <abatorConfiguration> <abatorContext> <!-. il sera ensuite personnalisé suivant l’ensemble des requêtes dont le DAO nécessite.121. sauf en cas de modification de structure de table.xml. dans notre cas : AFFAIRE_AFFAIRE_SqlMap. Ce fichier est généré une fois.0//EN" "http://ibatis.dao.OracleDriver" connectionURL="jdbc:oracle:thin:@192.IpponJavaModelGenerator"> <property name="enableSubPackages" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="fr. l’ensemble des Beans.0" encoding="UTF-8"?> <!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1. Donc il faut faire attention a ne pas le re-générer par la suite.abator.tools.

apache.AFF_ID .dtd"> <sqlMap namespace="AFFAIRE_AFFAIRE"> <resultMap id="abatorgenerated_AffaireResult" class="fr. aff. AFFAIRE_AFFAIRE_SqlMap. --> <result column="AFF_ID" property="affId" jdbcType="DECIMAL"/> <result column="AFF_STATUT" property="affStatut" jdbcType="DECIMAL"/> <result column="SCL_ID" property="sclId" jdbcType="DECIMAL"/> <result column="PFA_ID" property="pfaId" jdbcType="DECIMAL"/> <result column="PRS_ID" property="prsId" jdbcType="DECIMAL"/> <result column="POP_ID" property="popId" jdbcType="DECIMAL"/> <result column="WKF_ID" property="wkfId" jdbcType="DECIMAL"/> <result column="ACM_ID" property="acmId" jdbcType="DECIMAL"/> <result column="UTI_ID" property="utiId" jdbcType="DECIMAL"/> <result column="ETA_ID" property="etaId" jdbcType="DECIMAL"/> <result column="COM_ID" property="comId" jdbcType="DECIMAL"/> <result column="AFF_K_ENTITE" property="affKEntite" jdbcType="DECIMAL"/> <result column="AFF_K_GROUPE" property="affKGroupe" jdbcType="VARCHAR"/> <result column="AFF_K_CP" property="affKCp" jdbcType="DECIMAL"/> <result column="AFF_B_MVT" property="affBMvt" jdbcType="CHAR"/> <result column="AFF_D_CREATION" property="affDCreation" jdbcType="DATETIME"/> <result column="AFF_D_ENVOI" property="affDEnvoi" jdbcType="DATETIME"/> <result column="AFF_D_ENTREE" property="affDEntree" jdbcType="DATETIME"/> <result column="AFF_D_EFFET" property="affDEffet" jdbcType="DATETIME"/> <result column="AFF_D_SORTIE" property="affDSortie" jdbcType="DATETIME"/> <result column="AFF_D_ARCHIVAGE" property="affDArchivage" jdbcType="DATETIME"/> <result column="AFF_K_REF" property="affKRef" jdbcType="VARCHAR"/> <result column="AFF_T_DISCO" property="affTDisco" jdbcType="VARCHAR"/> <result column="AFF_K_PREV_FRN" property="affKPrevFrn" jdbcType="VARCHAR"/> <result column="AFF_K_REF_FRN" property="affKRefFrn" jdbcType="VARCHAR"/> <result column="AFF_T_CLIENT_RS" property="affTClientRs" jdbcType="VARCHAR"/> <result column="AFF_T_CLIENT_SIRET" property="affTClientSiret" jdbcType="VARCHAR"/> <result column="AFF_T_COMMUNE" property="affTCommune" jdbcType="VARCHAR"/> <result column="AFF_K_BPM_AFF_ID" property="affKBpmAffId" jdbcType="VARCHAR"/> <result column="AFF_K_BPM_WKF_ID" property="affKBpmWkfId" jdbcType="VARCHAR"/> <result column="PDM_ID" property="pdmId" jdbcType="VARCHAR"/> </resultMap> <select id="getAllAffaireById" resultMap="abatorgenerated_AffaireResult" parameterClass="java.0//EN" "http://ibatis.apache.This element is automatically generated by Abator for iBATIS.xml <?xml version="1. This element was generated on Fri Jun 13 11:09:42 CET 2006.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.Long"> SELECT aff.xxx.SCL_ID . do not modify.dao.b2b.affaire.AFF_STATUT . aff. avec une requête SQL recherchant une Affaire suivant l’id passé en paramètre. Livre blanc iBatis .lang.org/dtd/sql-map2. reproduit ou publié sans son autorisation préalable.10 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.org//DTD SQL Map 2.PRS_ID.vo.Affaire"> <!-WARNING .PFA_ID . aff.Voici un exemple simplifié de ce fichier de configuration. . aff.

Password" value="affaire" /> </dataSource> </transactionManager> <sqlMap resource="fr/ippon/dao/tools/maps/affaire/AFFAIRE_AFFAIRE_SqlMap. C’est dans ce fichier que sera listé l’ensemble des requetes liées à la table Affaire.AFF_K_BPM_AFF_ID . aff.AFF_D_CREATION. aff. aff. aff.AFF_K_CP. update.ACM_ID . aff. aff.AFF_D_ARCHIVAGE .properties"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.xml et database.AFF_K_REF . reproduit ou publié sans son autorisation préalable.properties • SQLMapUtils.java • un DAO sqlMapConfigAffaire.xml est le fichier de configuration iBATIS qui permet de faire le lien avec le fichier AFFAIRE_AFFAIRE_SqlMap. 4.AFF_B_MVT. aff.POP_ID .ETA_ID . aff.exemple de balise principale : . aff.Driver" value="${driver}" /> <property name="JDBC. aff.AFF_K_GROUPE .xml" /> </sqlMapConfig> Livre blanc iBatis . aff.AFF_D_SORTIE . aff. aff.AFF_K_PREV_FRN. select. aff. aff. .ConnectionURL" value="${url}" /> <property name="JDBC.dynamic prepend permet de rendre dynamique le langage la requête .AFF_T_CLIENT_RS. il faut : • Les fichiers sqlMapConfigAffaire. aff. en ne sélectionnant une condition sur un champ que si la valeur passée est différente de null.UTI_ID .AFF_D_ENTREE. aff.3 Appel de la requête Pour utiliser les fichiers iBATIS générés et établir une connexion.AFF_T_COMMUNE . aff.xml généré dans l’étape précédente.AFF_T_DISCO . aff. aff.AFF_D_ENVOI . par exemple. aff.WKF_ID . aff.AFF_K_REF_FRN. (insert. delete …) Ces requêtes peuvent être dynamiques.COM_ID .isNotNull suite de la requête affichée que si Le paramètre existe .aff.11 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.PDM_ID from affaire aff WHERE aff. aff.AFF_T_CLIENT_SIRET .isPresent suite de la requête affichée que si Le paramètre existe . En voici le contenu : <sqlMapConfig> <properties resource="fr/ippon/dao/tools/database.AFF_D_EFFET . aff.Username" value="affaire" /> <property name="JDBC. aff.isNotPresent suite de la requête affichée que si Le paramètre n'est pas renseignée Des exemples de scripts dynamiques sont fournis dans le fichiers xml lors de la génération abator.AFF_K_BPM_WKF_ID .AFF_K_ENTITE .aff_id = #affId# </select> </sqlMap> getAllAffaireById correspond a l’identifiant unique de la requête afin de pouvoir appeler celle-ci dans le DAO.

il suffira d'utiliser la méthode queryForList. idAffaire).queryForObject("getAllAffaireById". et ne va comporter aucune requête SQL en dur dans le code source java.Les paramètres ${driver} et ${url} de connexion à la base de données sont centralisés dans le fichier database. Pour une liste d'objets. Livre blanc iBatis . } } queryForObject permet de récupérer un unique objet IBatis.xml : autant que de bases auxquelles on veut se connecter. reproduit ou publié sans son autorisation préalable. IOException */ public Affaire getAffaireById (Long idAffaire) throws Exception { SqlMapClient sqlMap = SqlMapUtils. return vAffaire. Le DAO est la classe d’accès aux données qui. l’objet SqlMapClient s’en chargeant. public class AffaireDAO { /** * @param idAffaire * @return vo Affaire * @throws SQLException. grâce à iBATIS devient très simple. Cet objet facilite la récupération et l’exécution d’une requête suivant sont identifiant (getAllAffaireById dans notre cas). vAffaire = (Affaire) sqlMap. Affaire vAffaire = null.properties . . SQLMapUtils.xml un objet de type SqlMapClient. Ceci est utile car il peut y avoir plusieurs fichiers sqlMapConfigXXX.12 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.getSqlMapClientAffaire().java est une classe statique permettant de récupérer à partir de sqlMapConfigXXX.

5 Conclusion Le fait de pouvoir externaliser les requêtes SQL du code Source Java. reproduit ou publié sans son autorisation préalable. IBatis est un framework opensource qui peut être un choix relativement judicieux pour une entreprise par rapport à Hibernate. de pourvoir aisément mapper les objets aux tables. surtout si cette dernière possède une base qui ne comporte pas énormément de relation entre les tables. Livre blanc iBatis . et du fait de la simplicité de sa mise en place. . De plus le temps le développement est largement accélérer à l’aide de l’outil Abator.13 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.

2 .config/abatorAffaireConfig.properties La première étape consiste à créer les tables à l'aide de la tache => ant setup-db (après avoir créer la base Affaire) Les tests peuvent s'effectuer grâce aux sources dans test/ mais aussi en déployant le projet à l'aide de la tache => ant deploywar puis aller sur http://localhost:8080/iBatis Livre blanc iBatis . Elle est couplée avec une base Mysql et un serveur d’application Tomcat.0.9 Modifier les valeurs des connexions dans : . README. afficher.txt Ce projet a pour but de présenter le framework iBatis Il utilise l'outil de génération de code Abator pour générer les pojos et fichiers de configuration iBatis INSTALL : .properties .28 . compiler et deployer le war sur le serveur d’application. .build.nécessite une jdk 1. reproduit ou publié sans son autorisation préalable. La couche présentation de cet exemple est volontairement simple (à base de jsp/servlet).drc/fr. L’installation de l’application a été facilitée à l’aide de script Ant permettant de créer la base de données.dao. Pour l’installation voir le fichier README. Afin de mettre en exergue uniquement la couche d’accès aux données iBatis. et mettre à jour (CRUD) une liste d’affaire.14 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.war est déjà compilé et déployable.nécessite un serveur d'application tomcat 5. Les sources sont mises à disposition dans le zip dans lequel dist/ibatis. Seul log4j est mis en place afin de pouvoir logger l’ensemble des requêtes SQL qui sont exécutées sur le serveur.txt dans le zip décrivant la procédure.nécessite une base mysql 4.6 Sources A ce document est couplé un exemple d’application web utilisant le framework iBatis.ippon.xml .1.tools/database.4. Cette application permet de lister.

logger.15 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé. Sinon. reproduit ou publié sans son autorisation préalable. . (log4j. il est aussi possible d’activer les logs sql à partir de log4j en mettant le niveau de log par défaut à DEBUG.java.sql = DEBUG) Livre blanc iBatis .Impression écran de l’application exemple : Nota : Dans l’exemple. P6Spy a été mis en place par défaut afin de pouvoir logger précisément les requêtes exécutées sur le serveur.

apache.sourceforge.p6spy. reproduit ou publié sans son autorisation préalable.net/DevGuide.16 – Copyright 2006 Ippon Technologies Ce document est la propriété exclusive d’Ippon Technologies et ne peut être diffusé.org/ http://www.7 iBatis P6spy References http://ibatis. .html Guide iBatis Livre blanc iBatis .com http://ibatisnet.