天天看點

ORM是什麼?

它是什麼

字面意思

實際上就是個縮寫,表示對象-關系映射的縮寫

O->Object

RM->Relational (關系) Mapping(映射)

代表什麼思想

實際上就是一種把資料庫映射成對象的想法

資料庫的表(table) --> 類(class)

記錄(record,行資料)–> 對象(object)

字段(field)–> 對象的屬性(attribute)

比如說查詢語句 SELECT id, first_name, last_name, phone, birth_date, sex FROM persons WHERE id = 10

對應到代碼就是

res = db.執行資料庫(sql);
name = res[0]["FIRST_NAME"];
那麼ORM的寫法就是

p = Person.get(10);
name = p.first_name;
           

這樣的好處就是可以不需要了解資料庫底層,因為它不需要接觸SQL語句

是以ORM有這樣一些優點

ORM生态已經比較完備,有很多的工具支援

天生的MVC,ORM就是天生的Model

可以不寫SQL了。

它的缺點來說:

複雜查詢很難做到,做到了性能也很差

學習成本比較高

由于不需要接觸SQL是以無法定制一些特殊的SQL

ORM

繼續閱讀