WikiDer > 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.
Смотрите также
Рекомендации
- ^ Секреты iBATIS
- ^ Кошачья драка в зоомагазине: J2EE против .NET
- ^ "JPetStore 1.0" (PDF). Архивировано из оригинал (PDF) в 2013-10-21. Получено 2013-09-08.
- ^ Объявление о JPetStore 1.0 на TheServerside.com
- ^ Объявление об iBATIS 2.0
- ^ Команда проекта iBATIS переходит на Google Code
Библиография
- Бегин, Клинтон; Брэндон Гудин; Ларри Мидорс (17 января 2007 г.). iBATIS в действии (1-е изд.). Укомплектование персоналом. стр.384. ISBN 978-1-932394-82-5.
- Ричардсон, Крис (23 января 2006 г.). POJO в действии (1-е изд.). Укомплектование персоналом. стр.456. ISBN 1-932394-58-3.