(Translated by https://www.hiragana.jp/)
MyBatis - Wikipedia コンテンツにスキップ

MyBatis

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
MyBatis
開発元かいはつもと The MyBatis team
最新さいしんばん
3.5.10 / 2022ねん5がつ23にち (2ねんまえ) (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);

歴史れきし

[編集へんしゅう]

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]