読者の皆様に情報技術に関する情報をお届けするシリーズに引き続き、本日はNALのSE Duy Truong氏がMyBatisに関する概要記事をお届けします。

フォロー&いいね!してね!
Mybasticの概要

 読者の皆様に情報技術に関する情報をお届けするシリーズに引き続き、本日はNALのSE Duy Truong氏がMyBatisに関する概要記事をお届けします。Mybasticとは何?Mybasticの特色、Mybatisのメリットと性能についてお答えします。

 1.Mybasticとは何?

 MyBatisは、オープンソースのフレームワークです。JDBCのデータベースへの接続を簡素化するために作成されました。た。さらに、データベース操作を容易にするAPIも提供しています。

 2.Mybasticの特徴

 - シンプルさー MyBatisは広く使用されており、今日では最もシンプルパーシステンスフレームワークの1つと見なされています。

 - 迅速な開発ーMyBatisは、そのシンプルさと使いやすさにより、アプリケーション開発を高速化することができます。

 - 移植性 (Portability)ー MyBatisは、Java、Ruby、C#などのほぼすべての言語またはプラットフォームにインストールすることができます。

 - 独立したコミュニケーション ー MyBatisは、データベースに依存しないインターフェイスとAPIを提供します。

 - オープンソース- MyBatisは無料のオープンソースソフトウェアです

 3.MyBatisのメリット

 ーJDBCコードを書くのが少なくなる。例えばプロジェクトがOracleからPostgresにデータベースを変換する必要がある場合、ソースはJDBCを使用して、ソースの山を開いて、「+」でStringを追加すると、それを見て、これ以上いらないと思ったとします。

Mybasticの概要

 ー理解しやすく、使いやすいSQLとJavaをしっかりと理解したら、MyBatisの使い方はとても簡単です。膨大な量のドキュメントを除けば、新たに必要な知識はごくわずかです。

 - Spring Guice Frameworkでの統合のしやすさSpringのプロジェクトは通常、Hibernateで使用するために「バンドル」されていますが、EclipseとIntelliJはどちらも、プラグインとして「この生意気な鳥」のインストールをサポートしています。jarダウンロードファイルもなく、非常に便利です。さらに、バージョン間の変更はそれほど難しくありません。

Mybasticの概要

 -クエリ(高性能):キャッシュとポーリング接続メカニズムを持つ MyBatisはJDBCよりも高いクエリパフォーマンスを実現します。ただし、初めてSELECTを実行する場合、JDBCは競合が見つからず、SELECTが毎回データベースを呼び出さなければならないため、当然ながらキャッシュから結果をフェッチすることはできないため、それだけでミスしてしまいます。

Mybasticの概要

 -ORMサポート:MyBatisは、ORMツールに似た機能多くをサポートしています。としては、遅延読み込み、ジョインフェッチ 、ランタイムコードの生成、および継承などがあります

 MyBatisのパフォーマンス

 接続ポーリングに対応

 ポーリングについてご存じない方は、httpポーリングと接続プールに関する記事を参照してください。通常、データベースへの接続を開こうとするリクエストのたびに、別の接続が作成されます。Mybatisを使用する場合、ポーリング機構(接続が作成されて使用された後は閉じず次回再利用のために接続プールに残り、タイムアウトが終了したときにのみ実際に閉じられます。ポーリングを利用することで、接続の初期化コストを大幅に削減し、アプリケーションのパフォーマンスを向上させることができます。

 

Mybasticの概要

 Mybatisは、ポーリングを使用して、データベース接続を開始するコストを節約しています。

Mybasticの概要

 MyBatisのポーリング構成は比較的簡単です。 dataSourceタイプは、type = “POOLED”を設定するだけで

 -重複するクエリにはキャッシュを使用する。

 MyBatisには、SQLクエリの結果をSqlSesssionレベルでキャッシュするメカニズムがあります。つまり、キャッシュにマッピングされている選択クエリをコールバックすると、Mybatisはデータベースでクエリを実行しなくなり、キャッシュから直接結果を取得します。

 次の例を見てみましょう。

Mybasticの概要

 その際、MybatisはfirstSelectWithCacheのみを実行します。しかし、SQL1と同じSQL文で、同じsqlsession内の2番目のSQL文になると、キャッシュから直接結果を取得します。これは小さなことですが、データを複数回、重複してクエリを行う必要があるアプリケーションの場合、Mybatisを使用することでパフォーマンスが大幅に向上します。

Mybasticの概要

 すべてのクエリの結果はキャッシュに保存されます。 insert/ update/ delete.を使う場合、 トランザクションを終了します(またはautoCommit = trueで構成されたクエリの終了時)。

  さらに詳しく説明すると、Mybatisは2層のキャッシュをサポートしています。 1つ目はセッションキャッシュ、2つ目はグローバルキャッシュです

 -プロキシを使用しない

 MyBatis はプロキシを多用しており、プロキシを多用している他の ORM フレームワークと比較して、はるかに優れたパフォーマンスを発揮します。

 4.MyBatisとHibernateの違い

 -それを疑問視する人はたくさんいるでしょう。 MyBatisとHibernateはフレームワークが異なり、いつそれぞれを使用するのでしょうか。

 まず、MyBatisとHibernateの違いです。

 MyBatis:

 +MyBatisの方がシンプルでコンパクト。

 +MyBatisはより柔軟性があり、開発時間が短縮される。 

 +MyBatisは、依存データベースであるSQLを使用する。

 + MyBatisはJDBC APIのResultSetをPOJOオブジェクトにマッピングするので、テーブル構造を気にする必要がない。

 +MyBatisで保存されたプロシージャをより簡単に使用できる。

 Hibernate:

 +HibernateはSQLを生成するので、SQLの作成に時間を無駄にする必要がない。

 +Hibernateは非常にスケーラブルで、高度なキャッシュを提供する。

 +Hibernateは、データベースから比較的独立しているHQLを使用するため、データベースをHibernateに変換するのがより簡単になる。

 +Hibernateは、Java  POJOオブジェクトをテーブルにマップする。

 +Hibernateで保存されたプロシージャを使用することはより困難。

 -MyBatisをいつ使用する場合

 +独自のSQLを作成したい、メンテナンスをしたいとお考えの方。

 +環境は、リレーショナルデータモデルによって駆動される。

 +既存の複雑なスキーマで作業する必要がある。

 いつHibernateを使用するか

 環境がオブジェクトモデルによって方向付けられており、SQLを自動的に生成する必要がある場合は、Hibernateを使用する

 5.MyBatisのセットアップと使用法

 - 手動インストール:

 + MyBatisの最新バージョンをダウンロードこちら:

 http://www.java2s.com/Code/Jar/m/Downloadmybatis302jar.htm

 + mysqlconnectorの最新バージョンをダウンロードこちら

 https://dev.mysql.com/downloads/connector/j/

 + ダウンロードしたファイルを.jarファイルに抽出し、適切なディレクトリに配置する。

 + 抽出されたファイルのCLASSPATHを設定する。

 - Mavenを使用したセットアップ

Mybasticの概要

 - MyBatisの使い方

 +XMLファイルで使用

Mybasticの概要

 + Anotationを使用する

Mybasticの概要

0/5 (0 Reviews)
フォロー&いいね!してね!