MyBatisとは? わかりやすく解説

MyBatis

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/16 13:27 UTC 版)

MyBatis
開発元 The MyBatis team
最新版
3.5.10 / 2022年5月23日 (20か月前) (2022-05-23)
リポジトリ
プログラミング
言語
Java, .NET
対応OS クロスプラットフォーム
種別 永続性フレームワーク
ライセンス Apache License 2.0
公式サイト www.mybatis.org
テンプレートを表示

MyBatisJavaならびに.NET Frameworkで利用可能な、XMLまたはアノテーションを用いてストアドプロシージャSQL文をオブジェクトと紐付ける永続性フレームワークである。Apache License 2.0によるオープンソースソフトウェアとして提供されている。

以前はiBATISとして知られていた。

特徴

MyBatisは他のO/Rマッピングフレームワークとは異なりデータベースとオブジェクトをマッピングするのではなく、SQL文とオブジェクトのマッピングを行う。このため、MyBatisはレガシーな環境や非正規化されたデータベース、またはSQL文の実行を完全に制御したい場合に、よい選択肢となる。

MyBatisによるデータベースへのアクセスコードは、JDBCによるものより遥かに簡単である。通常の場合、SQL文の実行は1行のコードで完了する。よく見られるコネクションのクローズ漏れや、検索結果に1件を期待しているにもかかわらず超過してしまうような問題を抑止できる。

MyBatisの一番の特徴は、XMLに記述したSQL文を普通のオブジェクトと組み合わせられることである。

また、MyBatisではオブジェクトとデータベースをマッピングするだけでなく、SQL文のインタフェースメソッド(マッパー)を作成することも出来る。この場合は、DIフレームワークと組み合わせることでMyBatis APIへの依存関係を排除することが出来る。このためにSpring FrameworkGoogle Guiceとの連携がサポートされている。

MyBatisではデータキャッシュもサポートしている。XMLマッピングファイルに僅かな構文を追加するだけでキャッシュを有効にすることが可能である。MyBatisのキャッシュではOSCache, EhcacheそれにHazelcastとの連携がサポートされている。

使用方法

SQL文はXMLファイルまたはアノテーションに記述することが出来る。以下のサンプルはXMLを使用して "Blog" を返すSELECT文の定義である。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
    <select id="selectBlog" parameterType="int" resultType="Blog">
        select * from Blog where id = #{id}
    </select>
</mapper>

このSELECT文は以下のように実行する。

Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);

マッパーインタフェースは新しいMyBatisの特徴で、文字列の使用を避け、IDEのコード支援機能を活用することが出来る。

マッパーはDAO (Data Access Objects) に似ているがそれとは異なり、インタフェース上の1つ以上の、各SQL文に対応したメソッドから構成される。インタフェースの実装は、実行時にMyBatisが動的プロキシにより生成するため必要ではない。

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

歴史

関連項目

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MyBatis」の関連用語

MyBatisのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MyBatisのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMyBatis (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS