ORマッパーとは
RailsのActive RecordとかORマッパーだと思うんですが名前は知ってるけど実際よくわからないなと思って調べました
オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。
まあ詳しいことはwikipedia呼んでください
おそらく言ってることとしては、オブジェクト指向型プログラミングで使用されるモデルと実際のデータベースのテーブルとカラムをマッピングしてくれてる技法
僕はActive Recordしか触ったことがないですが、直にSQLを叩くよりも直感的にデータを取り出せるようになります
例えばRailsアプリケーションでUserモデルとEntryモデルが存在するとします
Userは複数のEntryを持つことができます
Userテーブル - id - name ... Entryテーブル - id - user_id - created_at ...
Userモデルのid: 1のユーザーの最新のブログ記事をActive Recordで取得しようとすると下のようになります
latest_entry = User.find(1).entries.last
これを直にSQLを叩いて取り出そうとすると以下のようになります
SELECT name FROM User WHERE id == 1
まだこれくらいならSQLで書いても大変ではないですが、複数テーブルを使用してデータを取り出そうとすると、個人的にはSQLで書くのは結構しんどいです
サブクエリとか書きたくない、、
ORマッパーのおかげでSQLを意識することなく、オブジェクトの関係からデータを取り出すことができるようになっています
ただSQLどんどん忘れていってるからたまには書くようにしないと、、