1. 程式人生 > >046:ORM模型介紹

046:ORM模型介紹

ORM模型介紹:

  隨著專案越來越大,採用寫原生SQL的方式在程式碼中會出現大量的SQL語句,那麼問題就出現了:

1、SQL語句重複利用率不高,越複雜的SQL語句條件越多,程式碼越長。會出現很多相近的SQL語句;
2、很多SQL語句是在業務邏輯中拼出來的,如果有資料庫需要更改,就要去修改這些邏輯,這會很容易漏掉對某些SQL語句的修改;
3、寫SQL時容易忽略web安全問題,給給未來造成隱患。SQL注入;

如何解決上面的問題:

  ORM ,全稱 Object Relational Mapping ,中文叫做物件關係對映,通過 ORM 我們可以通過類的方式去操作資料庫,而不用再寫原生的SQL語句。通過把表對映成類,把行作例項,把欄位作為屬性, ORM 在執行物件操作的時候最終還是會把對應的操作轉換為資料庫原生語句。使用 ORM 有許多優點:
1、易用性:使用 ORM 做資料庫的開發可以有效的減少重複SQL語句的概率,寫出來的模型也更加直觀、清晰;
2、效能損耗小: ORM 轉換成底層資料庫操作指令確實會有一些開銷。但從實際的情況來看,這種效能損耗很少(不足5%),只要不是對效能有嚴苛的要求,綜合考慮開發效率、程式碼的閱讀性,帶來的好處要遠遠大於效能損耗,而且專案越大作用越明顯;
3、設計靈活:可以輕鬆的寫出複雜的查詢;
4、可移植性: Django 封裝了底層的資料庫實現,支援多個關係資料庫引擎,包括流行的 MySQL 、 PostgreSQL 和 SQLite 。可以非常輕鬆的切換資料庫;