ORM は、オブジェクト リレーショナル マッピング テクノロジであり、オブジェクトの永続化の中核です。利点: 1. 開発効率が向上し、開発コストが削減されます。 2. 開発がよりオブジェクト指向になります。欠点: リレーショナル データベースの自動マッピングはシステムのパフォーマンスを消費します。複数テーブルの結合クエリや複雑な where 条件などのクエリを処理する場合、ORM 構文は複雑になります。
ORMとは
オブジェクト・リレーショナル・マッピング(ORM)、オブジェクト指向の開発手法が主流リレーショナル データベースは、今日のエンタープライズ レベルのアプリケーション開発環境における開発手法であり、エンタープライズ レベルのアプリケーション環境にデータを永続的に保存する主流のデータ ストレージ システムです。
オブジェクトとリレーショナル データは、ビジネス エンティティの 2 つの表現形式であり、メモリ内ではオブジェクトとして、データベース内ではリレーショナル データとして表されます。
メモリ内のオブジェクト間には関連付けや継承関係がありますが、データベースではリレーショナル データは多対多の関連付けや継承関係を直接表現できません。したがって、オブジェクト リレーショナル マッピング (ORM) システムは一般にミドルウェアの形式で存在し、主にプログラム オブジェクトからリレーショナル データベース データへのマッピングを実装します。
ORM を使用する理由
アプリケーションを (O/R マッピングを使用せずに) 実装する場合、データベースからオブジェクト情報を保存、削除、読み取りするために大量のデータ アクセス レイヤー コードを記述することがあります。すべて重複しています。
ORM を使用すると、コードの繰り返しが大幅に削減されます。オブジェクト リレーショナル マッピング (略して ORM) は、主にプログラム オブジェクトのリレーショナル データベース データへのマッピングを実装します。
オブジェクト リレーショナル マッピングの説明:
A. 単純: ORM は最も基本的な形式でデータをモデル化します。たとえば、ORM は MySQL テーブルを Java クラス (モデル) にマップし、テーブルのフィールドはこのクラス
B のメンバー変数になります。 正確: ORM は、すべての MySQL データ テーブルを、統一標準 システムの正確性を維持するために Java クラスに地理的にマッピングされ、コード レベルで統一されています
C. 理解しやすい: ORM はデータベース構造を文書化します。たとえば、MySQL データベースは、ORM によって Java プログラマーが理解できる Java クラスに変換されます。Java プログラマーは、得意な Java レベルにのみ集中できます (もちろん、MySQL に習熟している方が良いです)
D. 使いやすさ: ORM には、永続オブジェクトに対する CRUD 操作用の API (create()、update()、save()、load()、find()、find_all()、where() など) が含まれています。つまり、SQL クエリはすべてプログラミング言語の関数にカプセル化され、最終的な SQL ステートメントは関数のチェーンの組み合わせによって生成されます。この種のカプセル化により、非標準、冗長、および不均一な SQL ステートメントが回避され、多くの人為的バグが回避され、コーディング スタイルの統一とその後のメンテナンスが容易になります。
ここに画像の説明を書き込みます
ORM の長所と短所:
長所:
1) 開発効率の向上と開発コストの削減
2) 開発のオブジェクト指向化
3) 移植性の向上
4) データキャッシュなどを簡単に導入できる追加機能
欠点:
1) リレーショナル データベースの自動マッピングはシステムのパフォーマンスを消費します。実際、ここでのパフォーマンスの消費は悪くなく、通常は無視できます。
2) 複数テーブルの結合クエリや複雑なwhere条件などのクエリを処理する場合、ORMの構文が複雑になります。
関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !