OSS探訪

SQLを明示したままJava objectへのmappingを整理する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
20,450
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/19
ページ内ナビ

概要

MyBatisはJava向けSQL mapper frameworkです。SQLをXMLまたはannotationで定義し、parameter bindingとquery resultからJava objectへのmappingを支援します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

SQLとJava methodの対応を明示する

mapper interfaceとXMLまたはannotationを使い、SQL、parameter、result mappingを対応付けます。

出典:[2][4]

複雑なSQLでもJDBC boilerplateを減らす

SQL自体を保ちながらconnectionやstatement、ResultSet処理の定型部分をframeworkへ寄せられます。

出典:[4]

向いている用途

SQLをレビュー可能な形で管理したいJava applicationに向く

DB固有SQLや既存schemaを活かしつつ、Java側のmapping codeを減らしたい構成に適します。

出典:[4]

導入前の確認

ORMの自動query生成とは設計思想が異なる

SQLの作成責任はapplication側に残るため、SQL設計、index、transaction境界の判断は別途必要です。

出典:[4]

導入時は3.5.19系の設定と互換性を確認する

既存projectのJava version、DB driver、Spring等のintegration moduleとの組み合わせを確認してから更新します。

出典:[3][4]

参考にした公式資料

  1. [1]mybatis/mybatis-3 repository(2026-09-30)
  2. [2]MyBatis README(2026-09-30)
  3. [3]MyBatis 3.5.19 release(2026-09-30)
  4. [4]MyBatis documentation(2026-09-30)
編集部からの補足

MyBatisはSQLを自分で設計しつつ、ResultSetからJava objectへのmappingをframeworkへ任せたい場合に向きます。ORMの自動SQL生成よりSQLの可視性と制御を優先する設計で検討しやすいです。

3ステップで試す

  1. 1

    MyBatis 3.5.19を追加

    Maven Centralのreleaseをdependencyへ追加します。

    implementation("org.mybatis:mybatis:3.5.19")
  2. 2

    mapper interfaceを用意

    applicationが呼び出すmapper methodを定義します。Javaでは戻り値とmethod signatureをprojectに合わせて記述します。

    interface BlogMapper { fun selectBlog(id: Int): Blog }
  3. 3

    SQL mappingを追加

    XML mapperへSQLとresult mappingを定義し、実DBでparameter bindingとmappingを確認します。

    <select id="selectBlog" resultType="Blog">SELECT * FROM blog WHERE id = #{id}</select>
公式READMEで確認

成長

成長の推移 · 直近30日

20,450 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • java
  • mybatis
  • sql
Stars
20,450
Forks
12,848
Watchers
1,129
Open Issues
212
所有者種別
Organization
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/19

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?