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 треба додати код:
Проєкт неактивний з 16 червня 2010 року. 19 травня 2010 року команда розробників вирішила продовжувати розробку на Google Code [1] під новим іменем MyBatis.