MyBatis(マイバティス)。iBATIS(アイバティス)の後継プロジェクトで、マッピングファイルにSQL文を直接記述し「オブジェクトとSQL実行結果との間」でマッピングを行うという特徴を持つ、Javaおよび.NET Frameworkを対象とするORマッピングライブラリです。

MyBatisとは

MyBatis(マイバティス)。iBATIS(アイバティス)の後継プロジェクトで、マッピングファイルにSQL文を直接記述し「オブジェクトとSQL実行結果との間」でマッピングを行うという特徴を持つ、Javaおよび.NET Frameworkを対象とするORマッピングライブラリです。

基本情報

概要

MyBatis(マイバティス)とは、iBATIS(アイバティス)の後継プロジェクトで、マッピングファイルにSQL文を直接記述し「オブジェクトとSQL実行結果との間」でマッピングを行うという特徴を持つ、Javaおよび.NET Frameworkを対象とするORマッピングライブラリです。

ORマッピングライブラリの解説については、こちらを参照してください。
→OSSNews OSS情報「Hibernate」

前身の「iBATIS」は、2010年に、活動中止、プロジェクトのフォーク、開発者の移籍がアナウンスされ、後継となる新プロジェクト「MyBatis」に移行しました。

HibernateなどのORマッピングライブラリは、「オブジェクトとデータベースレコードとの間」でマッピングを行うのが一般的です。一方、MyBatisは、マッピングファイルにSQLを直接記述し、「オブジェクトとSQL実行結果との間」でマッピングを行うという特徴があります。

MyBatisは、「SQLを利用することに注力」したORマッピングライブラリです。高機能なORマッピングライブラリに比べて容易に理解できるため、レガシーなJDBCやResultSetを使ったプログラミングから簡単に乗り換えることができます。
特にSQLを多用する人や、動的なSQLの実装が必要な場合などには使いやすいORマッピングライブラリです。

MyBatisは、Javaを対象とする「MyBatis(SQL Mapping Framework for Java)」と、.NETフレームワークを対象とする「MyBatis.NET Data Mapping Framework」の2つに分かれていて、それぞれ独立したものになっています。

Eclipseなどの統合開発環境向けのMyBatisプラグインも用意されています。

TOPに戻る

主な特徴

【HibernateとMyBatisの違い】
HibernateはSQLクエリを自動生成して、アプリケーションがデータベース構成に依存しにくいため、「開発者はSQLをそれほど意識する必要がない」などのメリットがあります。しかし、その半面、「コードが冗長になりやすい」、「細かいパフォーマンスチューニングがやりにくい」「SQLが隠蔽されているため、データベースに発行されるSQL文が非効率な場合がある」などのデメリットもあります。特に、SQLクエリのエキスパートにとっては、大きなデメリットになります。
一方、MyBatisは、Hibernateとは異なり、SQLクエリを開発者自身が直接記述できるため、SQLクエリのエキスパートスキルを存分に活かせます。

【MyBatisのメリット】
・SQLクエリを外部ファイル化するだけなので、Hibernateなどに比べると手軽に利用できる。
・SQLの工夫によるパフォーマンスチューニングが容易にできる。
・コードからSQLクエリが分離されるため、コードの見通しがよくなる。
・開発者が効率を意識したSQL文を指定できる。
・「複数のテーブルを結合した検索結果を単一のクラスのオブジェクトにマッピングする」など、データベーススキーマとオブジェクトの構造が一致していない場合でも柔軟に対応できる。

【MyBatisのデメリット】
・SQLを意識する必要がある。
・使用しているSQL文によってはバックエンドのデータベース製品に依存する可能性がある。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Hibernate」など。

TOPに戻る

導入事例

Javaならびに.NET Frameworkプラットフォームを対象としたオープンソースORマッピングライブラリとして、さまざまな領域で利用されています。

TOPに戻る

ライセンス情報

MyBatisのライセンスは、「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

Javaを対象とする「MyBatis(SQL Mapping Framework for Java)」
ダウンロードページ

.NETフレームワークを対象とする「MyBatis.NET Data Mapping Framework」
ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

MyBatis最新TOPICS

最新情報はありません。

MyBatis最新CLOSEUPコラム

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter