Баннер мобильный (1) Пройти тест

MyBatis

Глоссарий

27 марта 2023

Поделиться

Скопировано

Содержание

    MyBatis — платформа персистентности (сохранения) с открытым исходным кодом, упрощающая и автоматизирующая взаимодействие между Java-приложениями и базами данных. Она поддерживает пользовательский SQL, различные отношения сопоставления и хранимые процедуры. MyBatis относится к бесплатному (свободному) ПО и распространяется под лицензией Apache License 2.0.

    Логотип MyBatis

    Как работает MyBatis

    Приложения Java концептуально не могут напрямую взаимодействовать с базами данных, которые управляются с помощью специализированных SQL-запросов. Для того чтобы программа смогла обратиться к БД, используются различные инструменты, например:

    • ORM-фреймворки — преобразующие информацию, хранящуюся в базе данных, в объекты с помощью объектно-ориентированных языков программирования;
    • СУБД — системы управления базами данных, представляющие собой специализированное программное обеспечение, работа которого зависит
    • от типа БД.

    Эти инструменты представляют собой промежуточный уровень абстракции. Они являются посредниками, которые преобразуют информацию из баз данных в формат, используемый приложениями в соответствии с конкретным запросом. Однако они реализуют это различными методами, зачастую не самыми удобными для конкретного приложения, из-за чего разработчику приходится использовать готовые дополнительные инструменты или создавать их самому.

    MyBatis также является средой-посредником между приложением и базой данных. Однако работа платформы основана на персистентных слоях (уровнях доступа к данным). Они обеспечивают выполнение таких операций с базой данных, как выбор, вставка, обновление, удаление и т.д. В MyBatis объекты Java (данные приложения и способы их обработки) связываются с операторами SQL и хранимыми процедурами баз данных с помощью аннотаций (описаний) и дескриптора, преобразующего XML-запросы. При этом платформа предоставляет пользователю полный набор функций для работы с БД, а многие процессы автоматизирует, упрощая общую архитектуру Java-приложения.

    Таким образом, эта платформа представляет альтернативный вариант взаимодействия с базами данных в сравнении с Java Database Connectivity (стандартом или интерфейсом работы с данными) и ORM-фреймворками, такими как Hibernate.

    Преимущества MyBatis

    • Открытый исходный код платформа распространяется по бесплатной лицензии, ее можно дорабатывать под конкретные задачи, что делает ее более гибкой в сравнении с конкурентами.
    • Динамический SQL функция, которая позволяет точно структурировать сложный SQL-оператор, тем самым избежав ошибок в его синтаксисе, которые часто возникают при ручном написании.
    • Кэширование данных в MyBatis оно декларативное, то есть если оператор пометить как кэшированный, то все извлеченные с его помощью данные из БД тоже будут храниться в кэше, причем платформа поддерживает различные форматы кэша.
    • Простота за счет автоматизации многих процессов у MyBatis ниже порог вхождения по сравнению с другими инструментами-посредниками (в частности Hibernate), что делает его более доступным для разработчиков.
    • Оптимизация SQL операторы SQL в MyBatis записываются вручную, поэтому поля запросов можно указывать по мере необходимости, что снижает нагрузку на систему разработчика.
    • Совместимость платформа совместима с различными базами данных, поддерживающими JDDS, а также с некоторыми Java-фреймворками (например Spring).

    Недостатки MyBatis

    • Нагрузка на разработчиков операторы SQL в MyBatis нужно писать вручную, что довольно сложно, особенно если есть много полей и связанных таблиц.
    • Плохая переносимость БД операторы в различных базах данных реализованы по-разному, поэтому перенести БД просто так не получится.

    MyBatis — хорошая альтернатива другим инструментам, обеспечивающим взаимодействие приложений с базами данных. Особенно эта платформа эффективна при работе со сложными запросами, агрегирующими информацию в базах данных. Однако, так как это проект с открытым исходным кодом, многие функции в нем еще не оптимизированы, что несколько ограничивает возможности MyBatis.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии