目前較主流/活躍的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操作交易性鍊式apitx := 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中文網其他相關文章!