「MyBatis」と「SQLマッパー」の違い

MyBatisは具体的なORマッピングフレームワークで、SQLマッパーはSQL文とオブジェクトを対応させる概念全般を指します。

MyBatis

MyBatisはJava用のオープンソースORマッピングフレームワークです。XMLまたはアノテーションでSQL文とJavaオブジェクトをマッピングし、データベース操作を簡潔に実現します。複雑なクエリ制御が可能で、SQLの自由度が高いことが特徴です。

例:MyBatisでマッピングファイルを設定し、SQLを直接記述してデータベースクエリを実行します。

SQLマッパー

SQLマッパーはSQL文とプログラムのオブジェクトを対応させるパターンの総称です。MyBatisもHibernateなども広義のSQLマッパーに含まれます。設計思想やアーキテクチャパターンを表す概念で、実装方法は複数存在します。

例:SQLマッパーパターンを採用して、SQLとオブジェクトの対応を整理しました。

両者の違い

MyBatisは特定のフレームワーク製品を指しますが、SQLマッパーは設計パターンの総称です。使う場面ではMyBatisは具体的な導入選択肢を、SQLマッパーはアーキテクチャ検討の段階で言及します。MyBatisはSQLマッパーパターンの一実装例であり、他のORマッパーもSQLマッパー概念に属します。

どちらを使うべき?判断のポイント

具体的なツール選定ならMyBatisを、アーキテクチャ設計論ならSQLマッパーを使用します。MyBatisの導入検討時に、SQLマッパーパターンの理解が設計の基礎になります。

それぞれの語をさらに詳しく

語彙の星図で「MyBatis」と「SQLマッパー」のつながりを探索する →