トップ OSS紹介 MyBatis

MyBatis

サポート対象

NRIのOpenStandiaが提供するMyBatis最新情報

MyBatis情報

MyBatisとは

MyBatis(マイバティス)は、Javaのアプリケーションとリレーショナルデータベースとのやりとりを簡略化するデータマッパーフレームワークです。 MyBatisを用いることで、リレーショナル(Relational)データベースから取得したレコードの値をJavaのオブジェクト(Object)に設定したり、 その逆にJavaのオブジェクトをもとにSQLを組み立てる「ORマッピング」のための単純で面倒なコードを書く必要が無くなります。 MyBatisの標準的な実装では対応が難しいような場合は、JDBCドライバーのようにSQLやストアドプロシージャでリレーショナルデータベースを操作することもできます。 MyBatis の設定やデータベースレコードと Java オブジェクトのマッピングは、XML またはアノテーションを使って行うことができます。 Javaの他に.NET Frameworkプラットフォーム向けのパッケージもあります。

MyBatisは、2001年にスタートしたiBATISの後継プロジェクトで、2010年6月からMyBatisという名前に変更されて開発が続いています。

従来のオブジェクト指向型アプリケーション開発で、リレーショナルデータベースを扱う際に最も手間がかかってしまっていた作業は、データモデルの設計思想の相違によって発生するマッピングでした。
この処理をフレームワーク化し、大量に必要だったコードを大幅に削減することで、アプリケーション構築の効率と品質を向上させるのが、MyBatisの役割です。

データマッパーフレームワークは他にもHibernateなどがありますが、機能が限定的でその分だけ習得が容易なMyBatisは、はじめに検討したいデータマッパーフレームワークと言えます。

主な機能

主な機能は、以下の通りです。(Java版)

  • データマッピング機能
  • DBスキーママイグレーション機能
  • コードジェネレータ機能
  • 各種フレームワーク連携機能(Spring Framework、Google Guice)
  • キャッシュ機能
  • ロギング機能(※)

※別途、JDK logging、Apache Log4jなどのロギング実装が必要

主な特徴

主な特徴は以下のとおりです。

機能

詳細

XMLまたはアノテーションを利用

ストアドプロシージャとオブジェクト、あるいはSQL文とオブジェクトとの関連付けや設定などは、XML またはアノテーションを使って行うことが可能

開発効率が良い

直接 JDBC を扱うコードを書いたり、クエリ引数やクエリ結果を手動で設定する必要がほとんどなくなり、オブジェクトとデータベースを効率的にマッピングすることができるため、結果的にコーディングの記述量も削減することが可能

習得が容易

シンプルで他のマッピングツールよりも簡易的に扱え、習得の手間も少ない

豊富なプラグイン

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

コスト効果

ライセンス費用がかからないため、商用製品に比べコストを削減することが可能

導入事例

MyBatisは、軽量で扱いやすく、動作が安定しており、Javaならびに.NET Frameworkプラットフォームを対象としているオープンソースのO/Rマッピングツールとして、さまざまな業種・システムで幅広く利用されています。

商用製品との機能比較

その他O/Rマッパーとの機能比較は以下のとおりです。

MyBatis

Hibernate

Doma2

SQLの外部化

×

DSL

×

マッピング

ResultSet

テーブル

ResultSet

動的SQL

△(Criteria API)

SQL自動生成

×

MyBatisのライセンス

MyBatisソフトウェアは、Apache 2.0ライセンスです。
MyBatisのコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Spring Framework
    サポート対象

    Spring Framework

    スプリングフレームワーク。Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。

  • HikariCP
    サポート対象

    HikariCP

    ヒカリシーピー。高速かつ軽量なJDBCコネクションプールのライブラリです。

  • Hibernate
    サポート対象

    Hibernate

    ハイバネート。Java のためのオブジェクト関係マッピング (ORM) ライブラリ

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。