For faster navigation, this Iframe is preloading the Wikiwand page for iBATIS.

iBATIS

iBATIS est un framework de persistance créé en 2001 et hébergé par la fondation Apache. Il permet de mettre en correspondance des requêtes SQL et des instances d'objet.

Le l'équipe de développement a décidé de se déplacer de l'Apache Software Foundation vers Google Code en changeant le nom du projet vers MyBatis.

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.

Association entre objets et relations

[modifier | modifier le code]

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 correspondance en fonction des différents domaines mis en œuvre dans l'application.

Optimisation des accès

[modifier | modifier le code]

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).

Gestion de la transaction

[modifier | modifier le code]

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 exécute la gestion de la transaction sur un nom particulier
  • Possibilité de réaliser une gestion automatique avec un système de filtre s'exécutant avant et après chaque écran

Versions disponibles

[modifier | modifier le code]

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

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]
{{bottomLinkPreText}} {{bottomLinkText}}
iBATIS
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?