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.
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.
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 correspondance en fonction des diffĂ©rents domaines mis en Ćuvre dans l'application.
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).
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 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
Le framework est disponible sous licence Apache v2.0 pour les langages suivants :
Voir aussi
Articles connexes
- Frameworks Java de persistance
- Hibernate, un framework analogue
Liens externes
- (en) MyBatis sur Google Code
- (en) Site officiel
- (en) Wiki iBatis
- (en) Aide en ligne iBatis .Net