WikiDer > Apache iBATIS

Apache iBATIS
Apache iBATIS
Разработчики)Фонд программного обеспечения Apache
Написано вЯва, .СЕТЬ, Рубин
Операционная системаКроссплатформенность
ТипФреймворк постоянства
ЛицензияЛицензия Apache 2.0
Интернет сайтибатис.apache.org

iBATIS это структура настойчивости который автоматизирует отображение между SQL базы данных и объекты в Java, .NET и Ruby on Rails. В Java это объекты POJO (Обычные старые объекты Java). Сопоставления отделяются от логики приложения путем упаковки операторов SQL в XML файлы конфигурации. В результате значительно сокращается объем кода, который требуется разработчику для доступа к реляционной базе данных с использованием API нижнего уровня, например JDBC и ODBC.

Другие структуры персистентности, такие как Спящий режим позволяют создавать объектную модель (скажем, на Java) пользователем, а также автоматически создавать и поддерживать реляционную базу данных. iBATIS использует обратный подход: разработчик начинает с базы данных SQL, а iBATIS автоматизирует создание объектов Java. Оба подхода имеют преимущества, и iBATIS - хороший выбор, когда разработчик не имеет полного контроля над схемой базы данных SQL. Например, приложению может потребоваться доступ к существующей базе данных SQL, используемой другим программным обеспечением, или доступ к новой базе данных, схема которой не полностью находится под контролем разработчика приложения, например, когда специализированная группа разработчиков базы данных создала схему и тщательно ее оптимизировала. для высокой производительности.

21 мая 2010 года команда разработчиков разделила код, создав новый проект под названием MyBatis и делать там новые релизы. В результате проект Apache iBATIS стал неактивным и был перемещен в Чердак Apache в июне 2010 г.

использование

Например, предположим, что есть таблица базы данных ТОВАР (PROD_ID ЦЕЛОЕ, PROD_DESC ВАРЧАР (64)) и класс Java com.example.Product (я бы: int, описание: Нить). Чтобы прочитать запись о продукте с ключом PROD_ID в новый Товар POJO, следующее отображение добавляется в файл сопоставления iBATIS XML:

    <выберите id ="getProduct" параметрClass ="java.lang.Long" resultClass ="com.example.Product"> выберите PROD_ID в качестве идентификатора, PROD_DESC в качестве описания из ПРОДУКТА, где PROD_ID = #ценить#    </select>

Новая Java Товар Затем объект может быть получен из базы данных для номера продукта 123 следующим образом:

    Товар результат = (Товар) sqlMapClient.queryForObject("getProduct", 123);

В примере файла сопоставления #ценить# относится к длинному целочисленному значению, переданному в запрос. Если параметр является объектом Java, тогда значения из свойств этого объекта могут быть вставлены в запрос, используя аналогичный # обозначение. Например, если класс параметра - это com.example.Product который имеет свойство, называемое я бы, тогда #ценить# можно заменить на #я бы#. В sqlMapClient объект является экземпляром класса com.ibatis.sqlmap.client.SqlMapClient.

Доступность

Основатель iBATIS имеет публично заявил о своем недовольстве Java 5, но продолжает выпускать новые версии iBATIS для Java. Версии 2.3.1 и 2.3.2 вышли в апреле 2008 года, а 2.3.3 - в июле.

В настоящее время фреймворк доступен в Ява, .СЕТЬ, и Рубин (RBatis) версии. В jBati проект - это JavaScript ORM вдохновлен iBATIS.

Апач iBator инструмент тесно связан: он подключается к вашей базе данных и использует свои метаданные для создания файлов сопоставления iBATIS и классов Java.

История

В 2001 году Клинтон Бегин начал проект под названием iBATIS. Первоначально основное внимание уделялось разработке программных решений для криптографии. Первым продуктом, выпущенным iBATIS, был Secrets,[1] инструмент для шифрования и подписи личных данных, очень похожий на PGP. Secrets был полностью написан на Java и выпущен под лицензией с открытым исходным кодом.

Этот год Microsoft опубликовал статью[2] чтобы продемонстрировать, что его недавний .СЕТЬ 1.0 был продуктивнее, чем Ява. С этой целью Microsoft создала собственную версию веб-проекта Sun "Pet Store", который Sun использовала для демонстрации передового опыта Java (Java BluePrints). Microsoft утверждал, что .СЕТЬ был в 10 раз быстрее и в 4 раза производительнее, чем Ява.

В 2002 году Клинтон разработал приложение под названием JPetStore.[3] чтобы продемонстрировать, что Ява может быть более продуктивным, чем .СЕТЬ и также может сделать это, достигнув лучшей архитектуры, чем та, которая использовалась в Microsoft выполнение.

JPetStore 1.0 оказал большое влияние[4] и слой базы данных Клинтон привлек внимание общественности. Вскоре стартовал проект iBATIS Database Layer 1.0, состоящий из двух компонентов: iBATIS DAO и iBATIS SQL Maps.

iBATIS 2.0 был выпущен в июне 2004 года.[5] Это был полный редизайн с сохранением тех же функций. Клинтон подарила имя и код iBATIS компании Фонд программного обеспечения Apache и проект оставался в ASF в течение шести лет.

В конце концов iBATIS DAO устарел, учитывая, что были доступны более совершенные фреймворки DAO, такие как Spring Framework.

19 мая 2010 года был опубликован iBATIS 3.0, и одновременно команда разработчиков решила продолжить разработку фреймворка на Код Google.[6] в рамках нового проекта под названием MyBatis.

16 июня 2010 г. Apache объявил, что iBATIS был прекращен и перемещен на чердак Apache.

Смотрите также

Рекомендации

  1. ^ Секреты iBATIS
  2. ^ Кошачья драка в зоомагазине: J2EE против .NET
  3. ^ "JPetStore 1.0" (PDF). Архивировано из оригинал (PDF) в 2013-10-21. Получено 2013-09-08.
  4. ^ Объявление о JPetStore 1.0 на TheServerside.com
  5. ^ Объявление об iBATIS 2.0
  6. ^ Команда проекта iBATIS переходит на Google Code

Библиография

внешняя ссылка