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)

java-library
Searching Database…

20.4K ·GitHub
What is this?MyBatis is a SQL mapper framework for Java that makes it easier to use a relational database from object-oriented applications.
Is it a full ORM like Hibernate, or something lighter?Something lighter: MyBatis is a data mapper — you write the SQL or call stored procedures, and it maps the results into your Java objects. Simplicity is its stated biggest advantage over object-relational mapping tools.
How do I tell it which SQL to run?You declare mappings either in an XML descriptor or with Java annotations, so you can pick whichever style fits your project.
What do I need in place to use it?A Java runtime and a relational database: it is a plain Java library you plug into your application, not a separate server you deploy.
Does it matter which OS or JDK I run it on?It runs wherever the JVM does. The project tests against JDK 21 and 25 on Windows, Linux and macOS, with the Linux suite running a slightly larger set of tests.
How well tested is the codebase?Heavily: about 1,899 automated tests run on any OS with JDK 21 or 25, rising to 1,934 on Linux, with the matrix still being tuned as of December 2024.
How do the maintainers keep quality up?The repository runs GitHub Actions workflows for tests plus CodeQL security scanning, Coveralls coverage reporting and Sonar code analysis.
Is MyBatis still an active project?Yes — the repository dates back to 2013, is not archived, and has around 20,400 stars, with an actively configured CI pipeline behind it.
Creator
mybatis
Size
155.2 MB
Stars
20.4K
Age
13y
Commits · 90 Days