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的優缺點:
優點:
提高開發效率,降低開發成本
使開發更加對象化
可移植
可以很方便地引入數據緩存之類的附加功能
缺點:
自動化進行關系數據庫的映射需要消耗系統性能。其實這裏的性能消耗還好啦,一般來說都可以忽略之。
在處理多表聯查、where條件復雜之類的查詢時,ORM的語法會變得復雜。
ORM框架簡介