首頁 >後端開發 >Golang >golang 是否需要orm

golang 是否需要orm

(*-*)浩
(*-*)浩原創
2019-12-31 10:07:054802瀏覽

golang 是否需要orm

目前較主流/活躍的orm有gorm、xorm、gorose等。              (建議學習:go

xorm

#支援的資料庫有:mysql、mymysql、postgres、tidb、 sqlite、mssql、oracle

事務性支援

鍊式api

has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users)

支援原生sql操作

查詢快取

可根據資料庫反轉產生程式碼

級聯載入

提供sql語句日誌輸出

#支援批次查詢處理

##gorm

hook機制(Before/After Create/Save/Update/Delete/Find)

物件關係Has One, Has Many, Belongs To, Many To Many, Polymorphism

#熱加載

支援原生sql操作

交易性

鍊式api

tx := db.Where("name = ?", "jinzhu").Where("age = ?", 20).Find(&users)

支援的資料庫有:mysql、postgre、sqlite、sqlserver

#查詢操作

gorose

支援的資料庫有:mysql、postgres、sqlite、mssql、oracle

鍊式api

#同時連接多個資料庫和切換

支援原生sql操作

#支援批次查詢處理

#交易性

相似性

各orm支援的資料庫都基本上相同(主流資料庫都支援)

支援事務性、鍊式查詢等

差異

xorm、gorose支援批次查詢處理

xorm支援主從式讀取寫入分離

gorm支援熱載入

##gorose便於在多個資料庫切換

文檔全面性gorm>xorm>gorose

###

以上是golang 是否需要orm的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn