A diferencia de las herramientas de mapeo objeto relacional como JPA, MyBatis no busca abstraer/ocultar los detalles del esquema relacional generando sentencias SQL para gestionar la persistencia del estado de los objetos en la base de datos. MyBatis es un framework de persistencia que se basa en la idea de mapear los resultados de una sentencia SQL creada por el desarrollador con las propiedades de un objeto. En las siguientes secciones se describen los componentes fundamentales de MyBatis.
Componentes MyBatis
- Metadatos de configuración general. Datos de configuración general del framework; por ejemplo, la definición de los parámetros de conexión o las referencias a los metadatos de mapeo de las sentencias SQL a objetos.
- SqlSessionFactory. Una clase empleada para crear instancias de SqlSession a partir de los metadatos de configuración general. Debe existir una instancia por base de datos.
- Metadatos e Interfaces de mapeo SQL – Objetos. Incluye la definición de las sentencias SQL, los métodos que ejecutan dichas sentencias y las reglas que establecen la correspondencia entre los resultados de las sentencias SQL con las variables miembro de los objetos. Estos metadatos se pueden incluir en formato XML o mediante anotaciones en el código Java.
- SqlSession. Instancia se esta clase (creadas con SqlSessionFactory) se emplean para crear las implementaciones de las interfaces de mapeo que permiten ejecutar y obtener los resultados de las sentencias SQL mapeados a las variables miembro de un objeto.
En el siguiente vídeo de demuestra el rol de cada uno de estos componentes en el proceso de gestionar la persistencia del estado de los objetos.