[Spring Boot] Платформа уровня сохранения базы данных MyBatis — Введение в MyBatis

Введение в MyBatis

В этом разделе сначала будет представлено, что такое ORM, что такое MyBatis, характеристики и основные концепции MyBatis и, наконец, как запустить MyBatis и загрузить файл конфигурации?

1.Что такое ОРМ

ORM (реляционное сопоставление объектов) — это технология, которая устраняет несоответствие между объектно-ориентированными и реляционными базами данных. Проще говоря, ORM автоматически сохраняет объекты программы в реляционной базе данных, используя метаданные, описывающие сопоставление между объектом и базой данных.

Когда мы разрабатываем приложение, нам нужно написать большой объем кода уровня доступа к данным для работы с данными в базе данных.Эти коды либо представляют собой большой объем повторяющегося кода, либо операция особенно громоздка. В ответ на эти проблемы ORM предлагает комплексное решение, упрощающее операцию сохранения объектов в реляционной базе данных.

Суть фреймворка ORM заключается в упрощении кодирования операционных баз данных в программировании.С развитием области Java фреймворки ORM появлялись бесконечно.Однако Hibernate и Mybatis по сути являются двумя наиболее популярными и широко используемыми.

Hibernate: полностью автоматическая платформа, мощная, сложная, громоздкая и дорогая в освоении.

Mybatis: Полуавтоматический фреймворк (требует от разработчиков понимания базы данных), вы должны написать SQL самостоятельно.

Hibernate утверждает, что нет необходимости писать предложение SQL, а MyBatis хорош в динамическом SQL. Оба имеют свои особенности, и разработчики могут гибко использовать их в соответствии со своими потребностями.

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

2.Что такое MyBatis

MyBatis — это превосходная платформа ORM уровня сохранения данных, которая широко используется в прикладных системах. Первоначально это был iBatis, проект Apache с открытым исходным кодом. В 2010 году этот проект был перенесен в Google Code Apache Software Foundation и переименован в MyBatis. В ноябре 2013 года он был перенесен на GitHub.

MyBatis поддерживает настраиваемый SQL, хранимые процедуры и расширенное сопоставление, может очень гибко реализовывать динамический SQL, может использовать простой XML или аннотации для настройки и сопоставления собственной информации, а также может легко конвертировать Java POJO (обычный объект Java, обычные объекты Java) сопоставляются с таблицы и поля в базе данных.

MyBatis как широко используемое программное обеспечение с открытым исходным кодом имеет следующие характеристики:

Простота в освоении и использовании, без каких-либо сторонних зависимостей.

SQL извлекается единообразно, чтобы облегчить унифицированное управление и оптимизацию.

Отделение SQL от кода разделяет бизнес-логику и логику доступа к данным, что делает проект системы более понятным, простым в обслуживании и выполнении модульного тестирования.

Гибкий и динамический SQL поддерживает различные условия для динамического создания разных SQL.

Предоставляет теги сопоставления для поддержки сопоставления отношений ORM между объектами и базами данных.

Предоставляет теги объектно-реляционного сопоставления для поддержки обслуживания объектно-реляционных компонентов.

3. Основная концепция MyBatis

MyBatis состоит из файлов конфигурации Mapper, интерфейсов Mapper, исполнителей, сеансов и других компонентов. Эти очень важные компоненты и концепции представлены ниже.

1) Файл конфигурации Mapper: его можно реализовать с помощью файла конфигурации Mapper на основе XML или с помощью аннотаций MyBatis на основе аннотаций Java или даже напрямую с использованием API, предоставляемого MyBatis.

2) Интерфейс Mapper: относится к настраиваемому интерфейсу работы с данными, аналогичному широко известному интерфейсу DAO. Для реализации раннего интерфейса Mapper требовалось настроить.Теперь MyBatis автоматически создаст динамический прокси-объект для интерфейса Mapper. Методы интерфейса Mapper обычно соответствуют узлам выбора, вставки, обновления, удаления и другим XML-узлам в файле конфигурации Mapper.

3) Исполнитель (исполнитель): Все операторы SQL в MyBatis выполняются через Executor, который является основным интерфейсом MyBatis.

4) SqlSession (сессия): ключевой объект MyBatis, аналогичный Connection в JDBC. Объект SqlSession полностью содержит все методы, связанные с базой данных, для выполнения операций SQL. Его нижний уровень инкапсулирует соединение JDBC и может напрямую использоваться Экземпляр SqlSession. Выполняет сопоставленный оператор SQL.

5) SqlSessionFactory (фабрика сеансов): ключевой объект MyBatis, который представляет собой скомпилированный образ памяти для одной связи сопоставления базы данных. Экземпляры объектов SqlSessionFactory можно получить через класс объектов SqlSessionFactoryBuilder.

6) Построитель SqlSessionFactoryBuilder: используется для анализа файлов конфигурации, включая конфигурацию свойств, конфигурацию псевдонима, конфигурацию перехватчика, источник данных и менеджер транзакций и т. д., которые могут быть созданы из файла конфигурации XML или предопределенного экземпляра конфигурации.

4.Процесс запуска MyBatis

Хотя MyBatis прост в использовании, это очень инкапсулированная среда, поэтому мы должны быть знакомы с процессом запуска и выполнения MyBatis. Конкретный рабочий процесс показан на рисунке.

Вставьте сюда описание изображения

1) Загрузите файл сопоставления SQL, настроенный Mapper, или соответствующее содержимое SQL аннотации.

2) Создайте фабрику сеансов. MyBatis создает фабрику сеансов (SqlSessionFactory), считывая информацию об источнике данных из файла конфигурации.

3) Создать сеанс. MyBatis может создать объект сеанса (SqlSession) с помощью фабрики сеансов. Объект сеанса представляет собой интерфейс, содержащий методы для добавления, удаления, изменения и запроса операций с базой данных.

4) Создайте исполнителя. Поскольку сам объект сеанса не может напрямую управлять базой данных, он использует интерфейс, называемый исполнителем базы данных (Executor), чтобы помочь ему выполнять операции.

5) Инкапсулировать объекты SQL. На этом этапе исполнитель инкапсулирует информацию SQL, подлежащую обработке, в объект (MappedStatement), который включает операторы SQL, информацию о сопоставлении входных параметров (простые типы Java, HashMap или POJO) и информацию о сопоставлении выходных результатов.

6) Работайте с базой данных. Если у вас есть исполнитель и объект инкапсуляции информации SQL, вы можете использовать их для доступа к базе данных и, наконец, вернуть результат операции и завершить процесс.

Подводя итог, MyBatis в основном состоит из двух основных компонентов: SqlSessionFactory и Mapper. SqlSessionFactory отвечает за создание сеансов базы данных, а Mapper в основном обеспечивает сопоставление SQL.

Supongo que te gusta

Origin blog.csdn.net/weixin_45627039/article/details/132467111
Recomendado
Clasificación