多くのデータベース向けに、データベース固有のLIMITなどを生成してクエリに物理ページネーションを追加するMyBatisプラグイン。
baomidou/mybatis-plus
MyBatisにCRUDインターフェース、条件ラッパー、ページネーション、コード生成を追加するJava向け拡張ツールキット。
- スター
- 17,486
- フォーク
- 4,438
- 未解決の Issue
- 27
- 最終コミット
- 一昨日
これは何?
MyBatis-Plusは、Javaの永続化フレームワークMyBatisを拡張するツールキットです。MyBatisとの完全な互換性を保ちながら、日常的なデータベースアクセスに必要な定型コードを大幅に削減します。BaseMapperを継承したMapperインターフェースでは、SQLを手書きしなくても、よく使う操作のメソッドをすぐに利用できます。
Javaコードでクエリを組み立てるための流暢な条件ラッパーとラムダ形式のAPIを備え、ページネーションの自動処理、複数の主キー生成方式、Active Recordモードも利用できます。コードジェネレーターは、データベースのテーブルからエンティティ、Mapper、サービスのコードを生成します。Spring Boot 2、3、4向けのMavenおよびGradleスターターが用意されています。
MyBatisをすでに利用しており、DAOの定型コードを減らしてCRUD中心の開発を効率化したいJavaチームを対象としています。
主な機能
- 01手書きSQLなしで使える、BaseMapperによる汎用CRUDメソッド
- 02クエリ構築用の条件ラッパーとラムダ形式のAPI
- 03ページネーションの自動処理
- 04複数の主キー生成方式
- 05エンティティ、Mapper、サービス用のコードジェネレーター
- 06Spring Boot 2、3、4向けスターター
ユースケース
- DAOの定型コードを減らしたい、MyBatisを使うSpring Bootバックエンド
- CRUD対象のテーブルや一覧ページが多い管理システム
- 既存のMySQLまたはPostgreSQLスキーマからエンティティやMapperのコードを生成
クイックスタート
- 1
pom.xml に mybatis-plus の Spring Boot starter 依存関係を追加します(使用している Spring Boot のバージョンに対応する starter を選んでください)
- 2
mapper インターフェースが BaseMapper を継承するようにします
- 3
コードから組み込みメソッドまたは条件ラッパーを呼び出します
使う前に知っておきたいこと
- Spring Boot のバージョンごとに専用の starter artifact があります。また、JDK 8 または一部の JDK 11 以降の環境では、mybatis-plus-jsqlparser artifact の追加が必要な場合があります。
収録されている特集
トピック
よくある質問
- mybatis-plus とは?
- MyBatisにCRUDインターフェース、条件ラッパー、ページネーション、コード生成を追加するJava向け拡張ツールキット。 MyBatis-Plusは、Javaの永続化フレームワークMyBatisを拡張するツールキットです。MyBatisとの完全な互換性を保ちながら、日常的なデータベースアクセスに必要な定型コードを大幅に削減します。BaseMapperを継承したMapperインターフェースでは、SQLを手書きしなくても、よく使う操作のメソッドをすぐに利用できます。
- mybatis-plus は無料で使えますか?ライセンスは?
- mybatis-plus は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- mybatis-plus は今もメンテナンスされていますか?
- 活発にメンテナンス中。mybatis-plus の最終コミットは 2026年11月6日 です。
- mybatis-plus は何に使えますか?
- DAOの定型コードを減らしたい、MyBatisを使うSpring Bootバックエンド CRUD対象のテーブルや一覧ページが多い管理システム 既存のMySQLまたはPostgreSQLスキーマからエンティティやMapperのコードを生成
- mybatis-plus のインストール方法は?
- pom.xml に mybatis-plus の Spring Boot starter 依存関係を追加します(使用している Spring Boot のバージョンに対応する starter を選んでください) mapper インターフェースが BaseMapper を継承するようにします コードから組み込みメソッドまたは条件ラッパーを呼び出します
- mybatis-plus はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/baomidou/mybatis-plus
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Node.jsなどのJSプラットフォームで使えるTypeScript/JavaScript向けORM。多くのSQL・NoSQLデータベースに対応し、Active RecordとData Mapperの両パターンをサポートします。
Node.js、Bun、Deno、エッジランタイムで使える、PostgreSQL・MySQL・SQLite対応の軽量なヘッドレスTypeScript ORM。
PostgreSQL、MySQL、MariaDB、SQLite、MS SQL Server、Snowflake、Oracle、Db2に対応する、Node.js・TypeScript向けのPromiseベースORM。
PostgreSQL、MySQL、SQLite、MariaDBに対応し、クエリをコンパイル時に検証できる、Rust向けの安全で拡張可能なORM兼クエリビルダーです。
Spring BootとMyBatisで構築され、Dockerでデプロイできる、ストアフロントと管理バックエンドを備えたフルスタックのECシステムです。