Jump to content

МойБатис

МойБатис
Разработчик(и) Команда MyBatis
Стабильная версия
3.5.16 [ 1 ]  Отредактируйте это в Викиданных / 4 апреля 2024 г.
Репозиторий
Написано в Ява
Операционная система Кросс-платформенный
Тип Структура сохранения
Лицензия Лицензия Апач 2.0
Веб-сайт www .дом .org  Edit this on Wikidata

MyBatis — это Java платформа персистентности , которая связывает объекты с хранимыми процедурами или операторами SQL с помощью дескриптора XML или аннотаций.

MyBatis — бесплатное программное обеспечение , распространяемое по лицензии Apache License 2.0.

MyBatis является ответвлением iBATIS 3.0 и поддерживается командой, в которую входят первоначальные создатели iBATIS .

Краткое описание функций

[ редактировать ]

В отличие от фреймворков ORM , MyBatis не сопоставляет Java объекты с таблицами базы данных , а методы Java с операторами SQL .

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

Он упрощает кодирование по сравнению с JDBC . Операторы SQL выполняются в одну строку.

MyBatis предоставляет механизм сопоставления, который декларативно сопоставляет результаты SQL с деревьями объектов.

Операторы SQL можно создавать динамически с помощью встроенного языка с синтаксисом, подобным XML, или с помощью Apache Velocity с использованием подключаемого модуля интеграции Velocity.

MyBatis интегрируется с Spring Framework и Google Guice . Эта функция позволяет создавать бизнес-код без зависимостей.

MyBatis поддерживает декларативное кэширование данных. Оператор может быть помечен как кэшируемый, поэтому любые данные, полученные из базы данных, будут храниться в кеше, и будущие выполнения этого оператора будут извлекать кэшированные данные, а не обращаться к базе данных. MyBatis предоставляет реализацию кэша по умолчанию на основе Java HashMap и коннекторов по умолчанию для интеграции с: OSCache , Ehcache , Hazelcast и Memcached . Он предоставляет API для подключения других реализаций кэша.

Использование

[ редактировать ]

Операторы SQL хранятся в XML- файлах или аннотациях. Ниже изображен сопоставитель MyBatis, состоящий из интерфейса Java с некоторыми аннотациями MyBatis:

package org.mybatis.example;

public interface BlogMapper {
    @Select("select * from Blog where id = #{id}")
    Blog selectBlog(int id);
}

Приговор исполняется следующим образом.

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

Операторы и сопоставления SQL также можно экспортировать в XML-файл следующим образом.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
    <select id="selectBlog" parameterType="int" resultType="Blog">
        select * from Blog where id = #{id}
    </select>
</mapper>

Операторы также можно выполнять с помощью API MyBatis.

Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);

Подробную информацию см. в руководстве пользователя, доступном на сайте MyBatis. Смотрите внешние ссылки.

Весенняя интеграция

[ редактировать ]

MyBatis интегрируется с Spring Framework . Этот модуль позволяет MyBatis участвовать в транзакциях Spring. Он также создаст преобразователи и сеансы MyBatis и внедрит их в другие компоненты.

В следующем примере показана базовая конфигурация XML, которая устанавливает преобразователь и внедряет его в компонент «BlogService».

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="blogMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    <property name="mapperInterface" value="org.mybatis.example.BlogMapper" />
</bean>

<bean id="blogService" class="org.mybatis.example.BlogServiceImpl">
    <property name="blogMapper" ref="blogMapper" />
</bean>

Вызов MyBatis теперь просто вызывает компонент:

public class BlogServiceImpl implements BlogService {

    private BlogMapper blogMapper;

    public void setBlogMapper(BlogMapper blogMapper) {
        this.blogMapper = blogMapper;
    }

    public void doSomethingWithABlog(int blogId) {
        Blog blog = blogMapper.selectBlog(blogId);
        ...
    }
}

Язык скорости

[ редактировать ]

Драйвер языка Velocity позволяет использовать Apache Velocity для создания динамических запросов SQL на лету.

<select id="findPerson" lang="velocity">
  #set( $pattern = $_parameter.name + '%' )
  SELECT *
  FROM person
  WHERE name LIKE @{pattern, jdbcType=VARCHAR}
</select>

Генератор MyBatis

[ редактировать ]

MyBatis предоставляет генератор кода. MyBatis Generator проанализирует таблицу базы данных (или несколько таблиц) и сгенерирует артефакты MyBatis, необходимые для выполнения CRUD операций (создание, получение, обновление, удаление).

Eclipse . Доступен плагин

Он сохранит любой пользовательский код в случае регенерации, но только если вы используете плагин Eclipse.

MyBatis Миграции

[ редактировать ]

Java MyBatis Migrations — это инструмент командной строки , который отслеживает изменения схемы базы данных, управляя файлами DDL (так называемые миграции ).

Миграции позволяют запрашивать текущее состояние базы данных, применять изменения схемы, а также отменять их. Это также помогает обнаруживать и устранять одновременные изменения схемы базы данных, внесенные разными разработчиками.

Проект MyBatis является дочерней компанией iBATIS 3.0 и поддерживается командой, в которую входят первоначальные создатели iBATIS.

Проект был создан 19 мая 2010 года, когда был опубликован Apache iBATIS 3.0, и команда объявила, что разработка продолжится под новым именем и в новом доме в Google Code. [ 2 ]

[ 3 ]

См. также

[ редактировать ]
  1. ^ «Выпуск 3.5.15» . 4 апреля 2024 г. Проверено 9 июля 2024 г.
  2. ^ Команда проекта iBATIS переходит на Google Code
  3. ^ Пока, Google Code, добро пожаловать Github
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bf9978f8e5c1a83cbf264dd7fb702e3a__1713231060
URL1:https://arc.ask3.ru/arc/aa/bf/3a/bf9978f8e5c1a83cbf264dd7fb702e3a.html
Заголовок, (Title) документа по адресу, URL1:
MyBatis - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)