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.

Див. також

  • п
  • о
  • р
Основні проєкти
ActiveMQ · Airflow  · Ant · Apache HTTP Server · APR · Apache Beam[en]  · Bloodhound  · Buildr · Camel · Cassandra · Cayenne · Chemistry  · CloudStack  · Cocoon · Commons · Cordova  · CouchDB · CXF · Deltacloud · Derby  · Directory · Excalibur · Felix · Flex  · Forrest · Geronimo · Gump · Hadoop · iBATIS  · Isis  · Jackrabbit · James · Lenya · Lucene · Maven · mod_perl · MyFaces · OFBiz  · OpenEJB · OpenJPA · OpenNLP  · OpenOffice · POI · Qpid · Rave · Roller · Sling · SpamAssassin  · Spark  · Sqoop · Stratos  · Struts  · Subversion  · Tapestry  · Tika · Tomcat · Traffic Server · Tuscany · Velocity · Wicket · XMLBeans[en]
Інші проєкти
Jakarta Project · Apache XML · Apache Incubator
Підпроєкти
BCEL · BSF · Cactus · Chainsaw · HBase · JMeter · Xerces · Batik · FOP · Log4j · XAP · River · ServiceMix · Log4Net · Abdera · Ivy · ODE · JSPWiki · Wink · Solr
Інкубатор
MXNet  · OpenMeetings  · Superset
Колишні проєкти (Attic)
Beehive · Harmony · HiveMind · Slide · Shale  · Wave
Ліцензія: Apache License · Сайт: http://apache.org/