MyBatis

MyBatis, XML və ya annotasiyalardan istifadə edərək proqramdaxili obyektləri  verilənlər bazası proseduraları və  SQL  ilə birləşdirən Java   freymvorkdur.

ORM framevorklardan fərqli olaraq, MyBatis Java obyektlərini verilənlər bazası cədvəllərinə deyil, Java metodlarını SQL sorğularına çevirir.

MyBatis proqramçıya DB proseduraları, görünüşlər, istənilən mürəkkəb sorğular və verilənlər bazansının bütün  funksionallıqlarından istifadə etməyə imkan verir.

SQL sorğuları  XML faylları və ya annotasiyalarda saxlanılır. Aşağıda MyBatis mapper nümunəsi göstərilib. Proqram kodu parçasında MyBatis annotasiyaları olan Java interfeys təsvir olunub.

package org.mybatis.example;

public interface BlogMapper {
    @Select("select * from Blog where id = #{id}")
    Blog selectBlog(int id);
}

Bu hissə aşağıdakı kimi icra edilir

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

SQL sorğusu aşağğıdakı kimi external XML faylına çıxarıla bilir.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
    <select id="selectBlog" parameterType="int" resultType="Blog">
        select * from Blog where id = #{id}
    </select>
</mapper>