Апач иБАТИС
Разработчик(и) | Фонд программного обеспечения Apache |
---|---|
Написано в | Java , .NET , Руби |
Операционная система | Кросс-платформенный |
Тип | Структура сохранения |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | ты собирался |
iBATIS — это платформа персистентности , которая автоматизирует сопоставление между базами данных SQL и объектами в Java, .NET и Ruby on Rails. В Java объектами являются POJO ( простые старые объекты Java ). Сопоставления отделены от логики приложения путем упаковки операторов SQL в файлы конфигурации XML . Результатом является значительное сокращение объема кода, необходимого разработчику для доступа к реляционной базе данных с использованием API более низкого уровня, таких как JDBC и ODBC .
Другие инфраструктуры персистентности, такие как Hibernate, позволяют пользователю создавать объектную модель (скажем, на Java), а также автоматически создавать и поддерживать реляционную базу данных. iBATIS использует обратный подход: разработчик начинает с базы данных SQL, а iBATIS автоматизирует создание объектов Java. Оба подхода имеют свои преимущества, и iBATIS — хороший выбор, когда разработчик не имеет полного контроля над схемой базы данных SQL. Например, приложению может потребоваться доступ к существующей базе данных SQL, используемой другим программным обеспечением, или доступ к новой базе данных, схема которой не находится полностью под контролем разработчика приложения, например, когда специализированная группа разработчиков базы данных создала схему и тщательно ее оптимизировала. для высокой производительности.
21 мая 2010 года команда разработчиков разделила код, создав новый проект под названием MyBatis и выпустив там новые выпуски. В результате проект Apache iBATIS стал неактивным и в июне 2010 года был перенесен на Apache Attic.
Использование
[ редактировать ]Например, предположим, что есть таблица базы данных. PRODUCT (PROD_ID INTEGER , PROD_DESC VARCHAR(64) ) и класс Java com.example.Product (id: int , описание: String ) . Чтобы прочитать запись о продукте, имеющую ключ PROD_ID в новый Продукт POJO, в 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);
В примере файла сопоставления #value#
относится к длинному целочисленному значению, переданному в запрос. Если параметр является объектом Java, то значения свойств этого объекта можно вставить в запрос, используя аналогичный метод. #
обозначения. Например, если класс параметра является com.example.Product
который имеет свойство под названием id
, затем #value#
можно заменить на #id#
. sqlMapClient
объект является экземпляром класса com.ibatis.sqlmap.client.SqlMapClient
.
Доступность
[ редактировать ]Основатель iBATIS публично заявил о своем разочаровании по поводу Java 5 , но продолжает выпускать новые версии iBATIS для Java. Версии 2.3.1 и 2.3.2 вышли в апреле 2008 года, а 2.3.3 — в июле.
В настоящее время платформа доступна в версиях Java , .NET и Ruby (RBatis). Проект jBati JavaScript, — это ORM вдохновленный iBATIS.
Инструмент Apache iBator тесно связан с ним: он подключается к вашей базе данных и использует ее метаданные для создания файлов сопоставления iBATIS и классов Java.
История
[ редактировать ]В 2001 году Клинтон Бегин запустил проект под названием iBATIS. Первоначально основное внимание уделялось разработке криптографических программных решений. Первым продуктом, выпущенным iBATIS, был Secrets. [ 1 ] инструмент шифрования и подписи личных данных, очень похожий на PGP. Secrets была полностью написана на Java и выпущена под лицензией с открытым исходным кодом.
В том же году Microsoft опубликовала статью [ 2 ] чтобы продемонстрировать, что его недавняя платформа .NET 1.0 была более продуктивной, чем Java . Для этой цели Microsoft создала собственную версию Sun Web «Pet Store», веб-проекта, который Sun использовала для демонстрации лучших практик Java ( Java BluePrints ). Microsoft утверждала, что .NET в 10 раз быстрее и в 4 раза производительнее Java .
В 2002 году Клинтон разработала приложение под названием JPetStore. [ 3 ] чтобы продемонстрировать, что Java может быть более производительной, чем .NET , и при этом достигать лучшей архитектуры, чем та, которая использовалась в реализации Microsoft .
JPetStore 1.0 оказал большое влияние [ 4 ] а уровень базы данных , который использовал Клинтон, привлек внимание сообщества. Вскоре стартовал проект iBATIS Database Layer 1.0, состоящий из двух компонентов: iBATIS DAO и iBATIS SQL Maps.
iBATIS 2.0 был выпущен в июне 2004 года. [ 5 ] Это был полный редизайн с сохранением тех же функций. Клинтон передал название и код iBATIS Apache Software Foundation , и проект оставался в ASF в течение шести лет.
В конце концов iBATIS DAO устарел, учитывая, что были доступны более совершенные платформы DAO, такие как Spring Framework .
19 мая 2010 года был опубликован iBATIS 3.0, и одновременно команда разработчиков решила продолжить разработку фреймворка в Google Code . [ 6 ] в рамках нового проекта под названием MyBatis .
16 июня 2010 г. Apache объявил, что iBATIS вышел из эксплуатации и переехал на чердак Apache.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Секреты iBATIS
- ^ Кошачья драка в зоомагазине: J2EE против .NET
- ^ «JPetStore 1.0» (PDF) . Архивировано из оригинала (PDF) 21 октября 2013 г. Проверено 8 сентября 2013 г.
- ^ Анонс 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 .