1. 程式人生 > >ORM框架使用優缺點

ORM框架使用優缺點

1. 什麼是ORM?

物件-關係對映(Object-Relational Mapping,簡稱ORM),面向物件的開發方法是當今企業級應用開發環境中的主流開發方法,關係資料庫是企業級應用環境中永久存放資料的主流資料儲存系統。物件和關係資料是業務實體的兩種表現形式,業務實體在記憶體中表現為物件,在資料庫中表現為關係資料。記憶體中的物件之間存在關聯和繼承關係,而在資料庫中,關係資料無法直接表達多對多關聯和繼承關係。因此,物件-關係對映(ORM)系統一般以中介軟體的形式存在,主要實現程式物件到關係資料庫資料的對映。

2.為什麼使用ORM?

當我們實現一個應用程式時(不使用O/R Mapping),我們可能會寫特別多資料訪問層的程式碼,從資料庫儲存、刪除、讀取物件資訊,而這些程式碼都是重複的。而使用ORM則會大大減少重複性程式碼。物件關係對映(Object Relational Mapping,簡稱ORM),主要實現程式物件到關係資料庫資料的對映。

3.物件-關係對映解釋:

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語句,可以避免很多人為Bug,方便編碼風格的統一和後期維護。
這裡寫圖片描述

4. ORM的優缺點:

優點:
1)提高開發效率,降低開發成本
2)使開發更加物件化
3)可移植
4)可以很方便地引入資料快取之類的附加功能
缺點:
1)自動化進行關係資料庫的對映需要消耗系統性能。其實這裡的效能消耗還好啦,一般來說都可以忽略之。
2)在處理多表聯查、where條件複雜之類的查詢時,ORM的語法會變得複雜。

5. 常用框架:

(1)Hibernate 全自動 需要寫hql語句
(2)iBATIS 半自動 自己寫sql語句,可操作性強,小巧