国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ORM框架的設計

2019-11-14 16:02:19
字體:
來源:轉載
供稿:網友
(開頭先從網上抄些ORM的介紹)
什么是ORM?
  ORM,即Object-Relational Mapping(對象關系映射),它的作用是在關系型數據庫和業務實體對象之間作一個映射。ORM也可理解是一種規范,具體的ORM框架可作為應用程序和數據庫的橋梁。這樣,我們在具體的操作業務對象的時候,就不需要再去和復雜的SQL語句打交道,只需簡單的操作對象的屬性和方法。

為什么需要ORM
  面向對象的程序設計語言,代表了目前程序設計語言的主流和趨勢,其具備非常多的優勢,比如:
    1、 面向對象的建模、操作。
    2、 多態、繼承。
    3、 摒棄難以理解的過程。
    4、 簡單易用,易理解性。
  但數據庫的發展并未與程序設計語言同步,而且,關系數據庫系統的某些優勢,也是面向對象的語言目前無法解決的。比如:
    1、 大量數據操作查找、排序。
    2、 集合數據連接操作、映射。
    3、 數據庫訪問的并發、事務。
    4、 數據庫的約束、隔離。
  面對這種面向對象語言與關系數據庫系統并存的局面,采用ORM就變成一種必然。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                結束
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

 

ORM的核心目的?

  是讓我們不在關心數據庫,只關心我們對象、集合這所有面向對象的知識點

如何自己動手設計一個ORM框架?

  一共包含兩個部分:

    第一個,映射部分(提供可以讓用戶配置的 xml 文件)

    第二個,框架核心部分(提供 API 供用戶使用)

 

第一部分

映射部分,這一部分就稱為ORM。負責對象與數據庫表之間的映射,這一部分又分為三個部分。

  第1部分,實體部分(Object)

  第2部分,數據庫部分(關系型數據庫  RelationShip

  第3部分,映射部分(Mapping)

上圖

那它們之間怎么去協作呢?

   Mapping 部分去訪問 Object 部分和 RelationShip 部分,然后完成它們之間的映射

怎么映射?

  通過Mapping操作,通過xml文件映射對應的字段和屬性。

第二部分

框架的核心部分,就是你接收到一個集合或者對象的操作

在經過你的核心類,這里面要做什么操作呢?

第一步,核心類根據你的映射規則去解析 XML 文件,匹配對象對應的表,對象屬性對應表的列。

第二步,核心類根據對象的操作(增刪改查)生成對應的 sql 語句。

第三步,核心類通過 ADO.NET 訪問數據庫,執行 Sql 語句。

第四步,返回結果。(如果是查詢操作的話,則通過核心類轉換成對應的對象或者集合再返回結果)

根據現在有的類,比如說你現在有 User 對象,而 User 對象對應一張 User 表,這時你發現是添加操作,就在核心類中構建 insert 語句,那么 insert 語句 insert 哪張表呢?根據對象和表之間映射關系取到對應的表,Values 哪些列的值呢?這時就從這個對象的屬性中去拿,這個屬性對應那個列,依次拿出,在通過核心類完成一條 sql 語句,通過核心類完成這么一個轉換。最終這條 sql 語句通過我們的框架去請求一個具體的數據庫完成操作。如何去請求?這里我們可以通過 ADO.NET 直接訪問數據庫,最后返回結果。

~~~~~~~~~~~~~~~~~~~~~~~~~~上圖~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第一步,核心類要根據你的映射規則去解析 XML 文件,匹配對象對應的表,對象屬性對應表的列。

第二步,核心類根據對象的操作(增刪改查)生成對應的 sql 語句。

第三步,核心類通過 ADO.NET 訪問數據庫,執行 Sql 語句。

1

 

第四步,返回結果。(如果是查詢操作的話,則通過核心類轉換成對應的對象或者集合再返回結果)

 

 

  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁南县| 长沙市| 景洪市| 大理市| 和田县| 嵩明县| 江安县| 贺州市| 大安市| 锦屏县| 绥阳县| 达拉特旗| 新绛县| 德格县| 玛纳斯县| 河南省| 女性| 特克斯县| 云霄县| 克拉玛依市| 井陉县| 安图县| 从化市| 岳普湖县| 会东县| 沙雅县| 漳浦县| 南宫市| 噶尔县| 惠安县| 浠水县| 宁陵县| 利川市| 墨江| 筠连县| 东兰县| 仁寿县| 长顺县| 彭泽县| 内江市| 武威市|