ORM介紹

一、ORM

1.ORM(Object/Relation Mapping):對象關係映射,ORM主要是把數據庫中的關係映射爲程序中的對象。他是隨着面向對象的開發方法發展起來的。

2.關係型數據庫是目前大部分企業級應用程序用於存儲數據的主要存儲系統。在面向對象編程中,業務實體在內存中表現爲對象,在數據庫中表現爲關係數據。

3.面向對象是從軟件工程基本原則(如耦合、聚合、封裝等)的基礎上發展來的,而關係型數據庫是從數學理論發展而來的,這兩種理論存在顯著差別,爲解決這一差異,ORM應運而生。

4.ORM一般以中間件的形式存在,他主要實現程序對象到關係數據庫數據的映射。

5.目前主流的ORM有:

(1)JAVA:Hibernate ;iBatis ;TopLink 

(2).NET: LINQ TO SQL;EF;EntitysCodeGenerate

6.ORM的含義:


上圖中O代表程序中的類,即對象,R代表關係數據庫的關係表。M代表程序的對象和數據庫中關係表的映射。


       通過以上表可以看出業務實體在內存中表現爲對象,在數據庫中表現爲關係數據。在應用程序中處理對象是很容易的,但是很難處理關係數據,ORM做到了關係數據和對象之間的映射,他是關係數據和對象之間的一個橋樑。ORM可以通過映射關係自動產生SQL語句。

7.ORM的核心原則

(1)簡單性:以最基本的形式建模數據

(2)傳達性:數據庫結構被任何人都能理解的語言文檔化

(3)精確性:基於數據庫模型創建正確標準化了的結構

8.ORM的優點:

(1)面向對象編程:不用編碼就可以像操作對象一樣操作數據庫;

(2)提高開發效率:ORM可以自動將實體對象的屬性與數據庫表中的字段進行映射,不要編寫單獨的數據訪問層來對數據庫進行增、刪、改、查;

9.ORM的缺點:

(1)對於複雜查詢,ORM力不從心;

(2)執行效率低於直接編寫的SQL語句;

(3)性能損耗,ORM中的關係映射和關係管理是以犧牲性能爲代價的;

10.ORM的使用場景

(1)對性能要求不是很苛刻的程序;

(2)開發時間緊迫時;

(3)有數據庫遷移需求時(如由一種數據庫更換爲另一種數據庫);

(4)小型程序和數據量比較小的程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章