ORM框架的學習總結

原文: http://blog.csdn.net/jianyuerensheng/article/details/50804360


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的語法會變得複雜。


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