# mybatis/spring-boot-starter

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mybatis-spring-boot-starter).**

4,248 stars · 1,794 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/mybatis/spring-boot-starter
- awesome-repositories: https://awesome-repositories.com/repository/mybatis-spring-boot-starter.md

## Topics

`java` `mybatis` `spring-boot`

## Description

This project is a library that integrates the MyBatis persistence framework into Spring Boot applications. It provides a database persistence layer that connects Java mapper interfaces to SQL statements through automatic package scanning and dependency injection.

The project utilizes Spring Boot auto-configuration to automatically register session factories and templates based on detected data sources. It includes support for GraalVM native images, enabling the compilation of applications into standalone binaries with specific configurations for XML-based mappers.

Capabilities cover the management of externalized persistence configuration via environment variables and properties, along with programmatic customization of the session factory. The framework also includes tools for isolated persistence testing using in-memory databases and integrated slice testing to verify architectural layers.

## Tags

### Data & Databases

- [Spring Boot Database Access](https://awesome-repositories.com/f/data-databases/database-connectivity/spring-boot-database-access.md) — Connects Spring Boot applications to databases using MyBatis for persistence and SQL mapping.
- [Relational Persistence Layers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-layers/relational-persistence-layers.md) — Implements a persistence layer that manages data storage via relational schemas and object-relational mapping.
- [External Datastore Configurations](https://awesome-repositories.com/f/data-databases/external-datastore-configurations.md) — Manages database connectivity and mapper locations through externalized properties and environment variables.

### Development Tools & Productivity

- [Automatic Mapper Registrations](https://awesome-repositories.com/f/development-tools-productivity/configuration-mappers/automatic-mapper-registrations.md) — Automatically identifies and registers data access mapper interfaces to enable dependency injection. ([source](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start-for-building-native-image))
- [SQL Mapper Interfaces](https://awesome-repositories.com/f/development-tools-productivity/configuration-mappers/automatic-mapper-registrations/sql-mapper-interfaces.md) — Connects Java mapper interfaces to SQL statements through automatic package scanning and dependency injection.
- [Native AOT Compilation](https://awesome-repositories.com/f/development-tools-productivity/native-compilation/native-aot-compilation.md) — Supports compiling the application into a standalone binary for improved startup and memory efficiency. ([source](https://github.com/mybatis/spring-boot-starter#readme))

### Software Engineering & Architecture

- [Auto-Configuration Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/auto-configuration-mechanisms.md) — Implements auto-configuration mechanisms to register session factories and templates based on classpath dependencies.
- [Auto-Configuration Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations/auto-configuration-mechanisms.md) — Automatically registers session factories and templates by detecting data sources and properties.
- [General Auto-Configuration Starters](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations/auto-configuration-mechanisms/ai-starter-configurations/general-auto-configuration-starters.md) — Automatically bootstraps the session factory and session template based on detected data sources. ([source](https://github.com/mybatis/spring-boot-starter/blob/master/mybatis-spring-boot-autoconfigure/src/site/zh_CN/markdown/index.md))
- [Annotation-Based Component Scanning](https://awesome-repositories.com/f/software-engineering-architecture/annotation-based-component-scanning.md) — Automatically detects and registers mapper interfaces as injectable components through package scanning.
- [Externalized Configuration Bindings](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-sourcing-and-binding/externalized-configuration-bindings.md) — Binds external environment variables and property files to specific persistence settings.
- [Externalized Configurations](https://awesome-repositories.com/f/software-engineering-architecture/externalized-configurations.md) — Allows separating database and mapper settings from source code via external configuration properties. ([source](https://github.com/mybatis/spring-boot-starter/blob/master/mybatis-spring-boot-autoconfigure/src/site/zh_CN/markdown/index.md))

### DevOps & Infrastructure

- [Native Image Configurations](https://awesome-repositories.com/f/devops-infrastructure/native-image-configurations.md) — Includes configurations required for successful ahead-of-time compilation into native binaries. ([source](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start-for-building-native-image))

### Testing & Quality Assurance

- [Slice Testing](https://awesome-repositories.com/f/testing-quality-assurance/integration-testing/slice-testing.md) — Enables combining persistence components with specialized test contexts to verify interactions across architectural layers. ([source](https://github.com/mybatis/spring-boot-starter/blob/master/mybatis-spring-boot-test-autoconfigure/src/site/zh_CN/markdown/index.md))
- [Isolated Database Tests](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/end-to-end-testing/isolated-database-tests.md) — Allows overriding in-memory configurations to execute persistence tests against physical external database instances. ([source](https://github.com/mybatis/spring-boot-starter/blob/master/mybatis-spring-boot-test-autoconfigure/src/site/zh_CN/markdown/index.md))
- [In-Memory Database Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/end-to-end-testing/isolated-database-tests/in-memory-database-testing.md) — Facilitates isolated persistence testing using in-memory databases to verify SQL logic.
