IBATIS

Apache iBATIS
Тип фреймворк
Розробник Apache Software Foundation
Операційна система Крос-платформовий
Мова програмування Java
Ліцензія Apache License 2.0
Вебсайт ibatis.apache.org

iBATIS — фреймворк, що автоматизує взаємодію між базами даних SQL і об'єктами Java, .NET і Ruby On Rails. Взаємодія з SQL-сервером відокремлена від логіки програми шляхом декларації SQL-запитів в окремих конфігураційних файлах у форматі XML. В результаті істотно скорочується кількість коду у порівнянні з доступом до реляційної бази даних з використанням API нижчого рівня, наприклад JDBC чи ODBC.

Інші схожі фреймворки, такі як Hibernate, дозволяють створення об'єктної моделі користувачем, з якої може бути автоматично згенеровано схему бази даних. iBatis застосовує зворотний підхід: розробник починає з SQL бази даних, а iBatis автоматизує створення об'єктів. Обидва підходи мають свої переваги, і iBatis — хороший вибір, якщо розробник не має повного контролю над базою даних.

Використання[ред. | ред. код]

Припустимо, існує таблиця бази даних з назвою PRODUCT (PROD_ID INTEGER, PROD_DESC VARCHAR(64)) і Java-клас com.example.Product (id: int, description: String). Щоб мати можливість шукати запис за значенням поля PROD_ID та отримувати результат у об'єкті Product, до конфігураційного XML-файл iBatis треба додати код:

    <select id="getProduct" parameterClass="java.lang.Long" resultClass="com.example.Product">  	select PROD_ID as id,                PROD_DESC as description           from PRODUCT          where PROD_ID = #value#     </select> 

В Java-програмі новий об'єкт для продукта з ідентифікатором 123 може бути отриманий з бази даних так:

    Product resultProduct = (Product) sqlMapClient.queryForObject("getProduct", 123); 

Статус проєкту[ред. | ред. код]

Проєкт неактивний з 16 червня 2010 року. 19 травня 2010 року команда розробників вирішила продовжувати розробку на Google Code [1] під новим іменем MyBatis.

Див. також[ред. | ред. код]