中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

什么是ORM?為什么用ORM?淺析ORM的使用及利弊

2021-03-10    分類: 網站建設

什么是ORM

ORM(Object-relational mapping),中文翻譯為對象關系映射,是一種為了解決面向對象與關系數據庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述對象和數據庫之間映射的元數據,將程序中的對象自動持久化到關系數據庫中。

ORM

為什么用ORM

在程序開發中,數據庫保存的表,字段與程序中的實體類之間是沒有關聯的,在實現持久化時就比較不方便。那么,到底如何實現持久化呢?一種簡單的方案是采用硬編碼方式,為每一種可能的數據庫訪問操作提供單獨的方法。這種方案存在以下不足:

  • 1.持久化層缺乏彈性。一旦出現業務需求的變更,就必須修改持久化層的接口
  • 2.持久化層同時與域模型與關系數據庫模型綁定,不管域模型還是關系數據庫模型發生變化,毒藥修改持久化曾的相關程序代碼,增加了軟件的維護難度

ORM提供了實現持久化層的另一種模式,它采用映射元數據來描述對象關系的映射,使得ORM中間件能在任何一個應用的業務邏輯層和數據庫層之間充當橋梁

ORM的方法論基于三個核心原則:

  • 簡單:以最基本的形式建模數據
  • 傳達性:數據庫結構被任何人都能理解的語言文檔化
  • 精確性:基于數據模型創建正確標準化了的結構

本文以C#編程語言為例,在傳統的數據讀取操作中,我們以Ado.net的方式對數據庫進行CRUD操作,使用的基本都是SQL硬編碼,比如有以下數據庫查詢操作:

String sql = "SELECT ... FROM persons WHERE id = 10";
DbCommand cmd = new DbCommand(connection, sql);
Result res = cmd.Execute();
String name = res[0]["FIRST_NAME"];

使用了ORM映射的C#實現的偽代碼:

Person p = repository.GetPerson(10);
String name = p.getFirstName();

上面的示例代碼表示我們可以從數據倉庫repository中獲取到一個實體對象,當然數據倉庫中可能包含其他的方法,你也可以定義自己的ORM實現,比如:

Person p = Person.Get(10);

通常,在處理ORM映射和數據倉庫時會暴露一些過濾或者查詢方法,允許客戶端對數據集進行進一步的篩選等操作,比如代碼演示從數據庫中查詢ID=10的用戶:

Person p = Person.Get(Person.Properties.Id == 10);

優/缺點

優點

與傳統的數據庫訪問技術相比,ORM有以下優點:

  • 開發效率更高
  • 數據訪問更抽象、輕便
  • 支持面向對象封裝

缺點

  • 降低程序的執行效率
  • 思維固定化

從系統結構上來看,采用ORM的系統一般都是多層系統,系統的層次多了,效率就會降低。ORM是一種完全的面向對象的做法,而面向對象的做法也會對性能產生一定的影響。

在我們開發系統時,一般都有性能問題。性能問題主要產生在算法不正確和與數據庫不正確的使用上。ORM所生成的代碼一般不太可能寫出很高效的算法,在數據庫應用上更有可能會被誤用,主要體現在對持久對象的提取和和數據的加工處理上,如果用上了ORM,程序員很有可能將全部的數據提取到內存對象中,然后再進行過濾和加工處理,這樣就容易產生性能問題。

總結

作為一名編程人員,在ORM使用的觀念上會有不同,具體取舍需根據具體的項目和場景。

名稱欄目:什么是ORM?為什么用ORM?淺析ORM的使用及利弊
當前網址:http://www.2m8n56k.cn/news46/104946.html

成都網站建設公司_創新互聯,為您提供品牌網站設計網站收錄手機網站建設網站設計云服務器建站公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
主站蜘蛛池模板: 深夜做爰性大片中文 | 一级免费看片 | 13一14周岁毛片免费 | 日韩毛片免费在线观看 | 性生大片一级毛片免费观看 | 国内精品久久久久影院免费 | 三级毛片在线免费观看 | 成人涩涩屋福利视频 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 新婚第一次一级毛片 | 欧美午夜免费一级毛片 | 激情视频一区 | 免费一级特黄a | 亚洲欧美国产中文 | 成人a毛片 | 精品国产高清在线看国产 | 亚洲国产成人精品一区二区三区 | 91国在线高清视频 | 国产区最新 | 日韩一级在线视频 | 国产三级a三级三级午夜 | 三级国产精品一区二区 | 美女黄影院 | 久久国产一级毛片一区二区 | 九九99香蕉在线视频网站 | 欧美精品束缚一区二区三区 | 欧美综合亚洲 | 久青草青综合在线视频 | 亚洲天堂免费观看 | 99综合在线 | 成人一级黄色片 | 男女免费观看在线爽爽爽视频 | 狠狠色丁香久久婷婷综合_中 | 国产欧美综合在线一区二区三区 | 99久久精品免费观看国产 | 美女视频很黄很a免费国产 美女视频黄.免费网址 | 白嫩美女一级毛片免费看 | 一级毛片日韩a欧美 | 国产乱码精品一区二区三区中 | 久久在线免费观看 | 欧美在线视频看看 |