溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ORM是什么

發(fā)布時間:2021-10-14 17:11:30 來源:億速云 閱讀:147 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關(guān)ORM是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

ORM簡介

  MVC或者MVC框架中包括一個重要的部分,就是ORM,它實現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫的解耦,即數(shù)據(jù)模型的設(shè)計不需要依賴于特定的數(shù)據(jù)庫,通過簡單的配置就可以輕松更換數(shù)據(jù)庫,這極大的減輕了開發(fā)人員的工作量,不需要面對因數(shù)據(jù)庫變更而導致的無效勞動

  ORM是“對象-關(guān)系-映射”的簡稱。(ObjectRelationalMapping,簡稱ORM)(將來會學一個sqlalchemy,是和他很像的,但是django的orm沒有獨立出來讓別人去使用,雖然功能比sqlalchemy更強大,但是別人用不了)

  類對象--->sql--->pymysql--->mysql服務(wù)端--->磁盤,orm其實就是將類對象的語法翻譯成sql語句的一個引擎,明白orm是什么了,剩下的就是怎么使用orm,怎么來寫類對象關(guān)系語句。

單表操作

創(chuàng)建表

  創(chuàng)建模型

  接下來要創(chuàng)建對應(yīng)的數(shù)據(jù),連接上對應(yīng)的數(shù)據(jù)庫,然后執(zhí)行創(chuàng)建表的命令,翻譯成相應(yīng)的sql,然后到數(shù)據(jù)庫里面執(zhí)行,從而創(chuàng)建對應(yīng)的表。多了一步orm翻譯成sql的過程,效率低了,但是沒有太大的損傷,還能忍受,當你不能忍的時候,你可以自己寫原生sql語句,一般的場景orm都夠用了,開發(fā)起來速度更快,寫法更貼近應(yīng)用程序開發(fā),還有一點就是數(shù)據(jù)庫升級或者變更,那么你之前用sql語句寫的數(shù)據(jù)庫操作,那么就需要將sql語句全部修改,但是如果你用orm,就不需要擔心這個問題,不管是你從mysql變更到oracle還是從oracle更換到mysql,你如果用的是orm來搞的,你只需要修改一下orm的引擎(配置文件里面改一些配置就搞定)就可以了,你之前寫的那些orm語句還是會自動翻譯成對應(yīng)數(shù)據(jù)庫的sql語句。

  更多字段和參數(shù)

  每個字段有一些特有的參數(shù),例如,CharField需要max_length參數(shù)來指定VARCHAR數(shù)據(jù)庫字段的大小。還有一些適用于所有字段的通用參數(shù)。這些參數(shù)在文檔中有詳細定義。

看完上述內(nèi)容,你們對ORM是什么有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

orm
AI