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.