Apache iBATIS - Apache iBATIS

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

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

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