¿QUE ES MYBATIS?

MyBatis es un framework de persistencia que soporta SQL, procedimientos almacenados y mapeos avanzados. MyBatis elimina casi todo el código JDBC, el establecimiento manual de los parámetros y la obtención de resultados. MyBatis puede configurarse con XML o anotaciones y permite mapear mapas y POJOs (Plain Old Java Objects) con registros de base de datos.

BATI

CARACTERÍSTICAS

Como ya hemos comentado, es un framework que mapea las sentencias SQL que se pueden almacenar mediante ficheros XML o clases java. Utilizando Java, se utilizan anotaciones que permiten evitar el uso de los “engorrosos” XML y lo pongo entre comillas porque estas anotaciones tienen limitaciones a la hora de construir y ejecutar sentencias SQL más complejas por lo que les recomiendo directamente que utilicen siempre ficheros XML y así poder utilizar todo su potencial.

De esto se deduce que si buscas un framework donde no utilizar XML o sentencias SQL, MyBatis no es lo que buscas. Prueba JPA, Hibernate u otros ORM’s.

MYBATIS

La configuración del famework se realiza mediante un fichero XML donde se define la conexión, el driver de la base de datos, los parámetros para el manejo de transacciones y otras características que se pueden ver en detalle.

La potencia de MyBatis radica en la gestión de los Mapped Statements, que son los ficheros XML de mapeo SQL en donde realizaremos las operaciones. Además también podemos reutilizar código sql en el propio mapped statement para no tener que repetir código y evitar errores.

EJEMPLOS CON MYBATIS

Por ejemplo:

<select id="selectPerson">
  SELECT * FROM PERSON WHERE ID = #{id}
</select>

Esta sentencia tiene un identificador único llamado “selectPerson”, recibe un parámetro de tipo entero y devuelve un HashMap con los resultados. La notación utilizada para los parámetros sería:

Por ejemplo:

#{id}


Unos ejemplos de INSERT, UPDATE y DELETE podrían ser:

  insert into Author (id,username,password,email,bio)
  values (#{id},#{username},#{password},#{email},#{bio})
 
  update Author set
    username = #{username},
    password = #{password},
    email = #{email},
    bio = #{bio}
  where id = #{id}
 
  delete from Author where id = #{id}

Si nuestra base de datos soporta claves autonuméricas, simplemente tendríamos que informar las propiedades useGeneratedKeys=”true” y en la propiedad keyProperty el nombre del campo donde guardaremos el valor. Por ejemplo, y tomando el ejemplo anterior si la columna id fuese nuestro auto-numérico en la tabla Author del ejemplo anterior, la consulta quedaría así:

  insert into Author (username,password,email,bio)
  values (#{username},#{password},#{email},#{bio})

entre algunas otras cosas que MyBatis puede crear …

About Author

NGuerrero

Post Anterior

Post Siguiente