mybatis-3 README

The project's README from github.com/mybatis/mybatis-3. As one markdown file: README.md.

MyBatis SQL Mapper Framework for Java

build Coverage Status Quality Gate Status Maven Central License Docs Stack Overflow Project Stats

mybatis

The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures or SQL statements using an XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping tools.

Contributions

See here

Tests

Mybatis-3 code runs more expressive testing depending on jdk usage and platform.

By default, we set <excludedGroups>TestcontainersTests,RequireIllegalAccess</excludedGroups> which will exclude a subset of tests with @Tag('TestcontainersTests') and @Tag('RequireIllegalAccess').

When we run on ci platform, we further make adjustments as needed. See here for details.

As of 12/28/2024, using combined system + jdk will result in given number of tests ran. This will change as tests are added or removed over time.

without adjusting settings (ie use as is, platform does not matter)

our adjustments for GH actions where platform does matter

mybatis-3 (mybatis/mybatis-3)

Searching Database…

20.4K ·GitHub
Что это такое?MyBatis — это фреймворк для маппинга SQL в Java, который упрощает работу с реляционной базой данных из объектно-ориентированных приложений.
Это полноценный ORM, как Hibernate, или что-то полегче?Что-то полегче: MyBatis — это data mapper. Вы сами пишете SQL или вызываете хранимые процедуры, а он превращает результаты в ваши Java-объекты. Простота — заявленное главное его преимущество перед инструментами объектно-реляционного маппинга.
Как указать, какой SQL выполнять?Маппинги объявляются либо в XML-дескрипторе, либо с помощью Java-аннотаций — выбирайте тот стиль, который лучше подходит вашему проекту.
Что нужно, чтобы им пользоваться?Java-окружение и реляционная база данных: это обычная Java-библиотека, которую вы подключаете к своему приложению, а не отдельный сервер, который нужно разворачивать.
Имеет ли значение, на какой ОС или JDK его запускать?Он работает везде, где есть JVM. Проект тестируется на JDK 21 и 25 под Windows, Linux и macOS, причём в Linux прогоняется чуть больший набор тестов.
Насколько хорошо протестирован код?Очень хорошо: около 1 899 автотестов запускается на любой ОС с JDK 21 или 25, а на Linux — уже 1 934; матрица тестов ещё дорабатывалась по состоянию на декабрь 2024 года.
Как мейнтейнеры следят за качеством?В репозитории настроены GitHub Actions workflows для тестов, а также сканирование безопасности CodeQL, отчёты о покрытии через Coveralls и анализ кода в Sonar.
MyBatis — это ещё живой проект?Да — репозиторий ведётся с 2013 года, не заархивирован, собрал около 20 400 звёзд, и за ним стоит активно настроенный CI-конвейер.
Creator
mybatis
Size
155.2 MB
Stars
20.4K
Age
13y
Commits · 90 Days