iBATOR - Présentation

iBATOR est un générateur de code pour iBATIS. iBATOR introspecte une ou plusieurs tables de base de données et génère des artefacts iBATIS qui peuvent être utilisés pour accéder aux tables.

Plus tard, vous pouvez écrire votre code SQL personnalisé ou votre procédure stockée pour répondre à vos besoins. iBATOR génère les artefacts suivants -

  • Fichiers XML SqlMap
  • Classes Java pour correspondre à la clé primaire et aux champs de la ou des tables
  • Classes DAO qui utilisent les objets ci-dessus (facultatif)

iBATOR peut s'exécuter en tant que fichier JAR autonome, ou en tant que tâche Ant, ou en tant que plug-in Eclipse. Ce didacticiel décrit la manière la plus simple de générer des fichiers de configuration iBATIS à partir de la ligne de commande.

Télécharger iBATOR

Téléchargez le JAR autonome si vous utilisez un IDE autre qu'Eclipse. Le JAR autonome comprend une tâche Ant pour exécuter iBATOR, ou vous pouvez exécuter iBATOR à partir de la ligne de commande du code Java.

Génération du fichier de configuration

Pour exécuter iBATOR, procédez comme suit:

Étape 1

Créez et remplissez un fichier de configuration ibatorConfig.xml de manière appropriée. Au minimum, vous devez spécifier -

  • UNE <jdbcConnection> élément pour spécifier comment se connecter à la base de données cible.

  • UNE <javaModelGenerator> pour spécifier le package cible et le projet cible pour les objets de modèle Java générés.

  • UNE <sqlMapGenerator> élément pour spécifier le package cible et le projet cible pour les fichiers de mappage SQL générés.

  • UNE <daoGenerator> pour spécifier le package cible et le projet cible pour les interfaces et classes DAO générées (vous pouvez omettre l'élément <daoGenerator> si vous ne souhaitez pas générer des DAO).

  • Au moins une base de données <table> élément

NOTE −Consultez la page de référence du fichier de configuration XML pour un exemple de fichier de configuration iBATOR.

Étape 2

Enregistrez le fichier dans un emplacement pratique, par exemple à l'adresse: \ temp \ ibatorConfig.xml.

Étape 3

Maintenant, exécutez iBATOR à partir de la ligne de commande comme suit -

java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite

Il indiquera à iBATOR de s'exécuter en utilisant votre fichier de configuration. Il indiquera également à iBATOR d'écraser tous les fichiers Java existants portant le même nom. Si vous souhaitez enregistrer des fichiers Java existants, omettez le−overwrite paramètre.

En cas de conflit, iBATOR enregistre le fichier nouvellement généré sous un nom unique.

Après avoir exécuté iBATOR, vous devez créer ou modifier les fichiers de configuration iBATIS standard pour utiliser votre code nouvellement généré. Ceci est expliqué dans la section suivante.

Tâches après l'exécution d'iBATOR

Après avoir exécuté iBATOR, vous devez créer ou modifier d'autres artefacts de configuration iBATIS. Les principales tâches sont les suivantes -

  • Créez ou modifiez le fichier SqlMapConfig.xml.
  • Créez ou modifiez le fichier dao.xml (uniquement si vous utilisez iBATIS DAO Framework).

Chaque tâche est décrite en détail ci-dessous -

Mise à jour du fichier SqlMapConfig.xml

iBATIS utilise un fichier XML, communément appelé SqlMapConfig.xml, pour spécifier des informations pour une connexion à une base de données, un schéma de gestion des transactions et des fichiers XML de mappage SQL qui sont utilisés dans une session iBATIS.

iBATOR ne peut pas créer ce fichier pour vous car il ne sait rien de votre environnement d'exécution. Cependant, certains des éléments de ce fichier sont directement liés aux éléments générés par iBATOR.

Les besoins spécifiques d'iBATOR dans le fichier de configuration sont les suivants -

  • Les espaces de noms d'instructions doivent être activés.
  • Les fichiers XML SQL Map générés par iBATOR doivent être répertoriés.

Par exemple, supposons que iBATOR a généré un fichier XML SQL Map appelé MyTable_SqlMap.xml et que le fichier a été placé dans le package test.xml de votre projet. Le fichier SqlMapConfig.xml doit avoir ces entrées -

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
   <!-- Statement namespaces are required for Abator -->
   <settings useStatementNamespaces="true" />

   <!-- Setup the transaction manager and data source that are
   appropriate for your environment
   -->
	
   <transactionManager type="...">
      <dataSource type="...">
      </dataSource>
   </transactionManager>

   <!-- SQL Map XML files should be listed here -->
   <sqlMap resource="test/xml/MyTable_SqlMap.xml" />

</sqlMapConfig>

S'il existe plusieurs fichiers XML SQL Map (ce qui est assez courant), les fichiers peuvent être répertoriés dans n'importe quel ordre avec des éléments <sqlMap> répétés après l'élément <transactionManager>.

Mise à jour du fichier dao.xml

Le framework iBATIS DAO est configuré par un fichier xml communément appelé dao.xml.

La structure iBATIS DAO utilise ce fichier pour contrôler les informations de connexion à la base de données pour les DAO, ainsi que pour répertorier les classes d'implémentation DAO et les interfaces DAO.

Dans ce fichier, vous devez spécifier le chemin d'accès à votre fichier SqlMapConfig.xml et à toutes les interfaces DAO et classes d'implémentation générées par iBATOR.

Par exemple, supposons qu'iBATOR ait généré une interface DAO appelée MyTableDAO et une classe d'implémentation appelée MyTableDAOImpl, et que les fichiers ont été placés dans le package test.dao de votre projet.

Le fichier dao.xml doit avoir ces entrées -

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">

<daoConfig>

   <context>
	
      <transactionManager type="SQLMAP">
         <property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/>
      </transactionManager>

      <!-- DAO interfaces and implementations should be listed here -->
      <dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" />
   </context>
	
</daoConfig>

NOTE − Cette étape n'est requise que si vous avez généré des DAO pour le framework iBATIS DAO.