iBATIS

Un article de Wikipédia, l'encyclopédie libre.

iBATIS est un framework Apache de persistance qui permet de mettre en correspondance des requêtes SQL et des instances d'objet.

Sommaire

[modifier] Principe

Les requêtes SQL sont associées à des classes d'objets via des fichiers de définition XML. En d'autres termes, un SELECT en SQL via iBATIS renvoie directement l'instance (ou une liste d'instances le cas échéant) de l'objet correspondant.

[modifier] Association entre objets et relations

Les objets mis en correspondance avec une relation doivent pouvoir être construits, renseignés et consultés (par des méthodes du type consultation/modification d'attributs) tels que les JavaBeans.

L'association peut se faire quasiment automatiquement, iBatis analysant les types de part et d'autre et effectuant les conversions qui correspondent aux attributs des classes et aux attributs des relations mises en œuvre.

Il est également possible de définir les correspondances manuellement dans des cas plus complexes nécessitant par exemple des conversions à la volée. Une requête peut, de plus, prendre des paramètres selon une correspondance donnée (correspondance paramètre) et renvoyer des résultats dans une autre (correspondance de résultat) ou dans un type prédéfini du langage utilisé. Il peut enfin s'agir d'objets correspondance basées sur les noms des champs de la relation.

Une seconde analyse de la requête instanciée est également possible à condition d'être explicitement demandée (cela permet par exemple d'avoir une partie de requête dynamique).

L'utilisation d'espaces de noms permet de catégoriser les mises en correspondances en fonction des différents domaines mis en œuvre dans l'application.

[modifier] Optimisation des accès

iBATIS dispose de différents modèles de cache pour éviter de relancer une requête sur la base de données si ce n'est pas nécessaire (mémoire simple, dernier utilisé, etc).

[modifier] Gestion de la transaction

Il y a 4 manières de gérer la transaction :

  • Avec la gestion des exceptions
  • Classes anonymes permettant de gérer une transaction (Solution "sale")
  • Utilisation avec Spring : on applique un filtre sur le nom des méthodes et on execute la gestion de la transaction sur un nom particulier
  • Possibilité de réaliser une gestion automatique avec un système de filtre s'executant avant et après chaque écran.

[modifier] Versions disponibles

Le framework est disponible sous licence Apache v2.0 pour les langages suivants :

[modifier] Voir aussi

  • Un plugin de bonne qualité est fourni avec iBatis : Abator.

Il permet de générer les différentes classes nécessaires à l'utilisation de la DAO avec également des fichiers exemples qui permettent directement de faire du CRUD.

[modifier] Article connexes

[modifier] Liens externes