最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GoFrame?ORM原生方法操作示例

 更新時間:2022年06月10日 10:37:32   作者:王中陽Go  
這篇文章主要為大家介紹了GoFrame?ORM原生方法操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

最近一直在用GoFrame(下文簡稱gf)來開發(fā)項目,在熟悉業(yè)務(wù)邏輯之后就是馬不停蹄的擼代碼了。

之前整理過結(jié)構(gòu)體和json轉(zhuǎn)換的文章:GoFrame必知必會之Scan:類型轉(zhuǎn)換,今天整理同樣比較重要的ORM相關(guān)的文章。

gf是支持ORM原生操作的,在ORM鏈式操作執(zhí)行不了太過于復雜的SQL操作時,可以交給方法操作來處理。

這篇文章整理原生操作的常用方法,下篇文章根據(jù)整理的原生方法整理對應(yīng)的開箱體驗。

常用方法

SQL操作方法,返回原生的標準庫sql對象

  • Query是原始的數(shù)據(jù)查詢方法,返回的是原生的標準庫的結(jié)果集對象,需要自行解析。
  • Exec方法用于寫入/更新的SQL的操作。
Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
Prepare(ctx context.Context, query string) (*sql.Stmt, error)

數(shù)據(jù)表記錄查詢:

  • 查詢單條記錄、查詢多條記錄、獲取記錄對象、查詢單個字段值(鏈式操作同理)
  • 在執(zhí)行數(shù)據(jù)查詢時推薦使用Get*系列查詢方法。
GetAll(ctx context.Context, sql string, args ...interface{}) (Result, error)
GetOne(ctx context.Context, sql string, args ...interface{}) (Record, error)
GetValue(ctx context.Context, sql string, args ...interface{}) (Value, error)
GetArray(ctx context.Context, sql string, args ...interface{}) ([]Value, error)
GetCount(ctx context.Context, sql string, args ...interface{}) (int, error)
GetScan(ctx context.Context, objPointer interface{}, sql string, args ...interface{}) error

數(shù)據(jù)單條操作

Insert/Replace/Save方法中的data參數(shù)支持的數(shù)據(jù)類型為:

string/map/slice/struct/*struct,當傳遞為slice類型時,自動識別為批量操作,此時batch參數(shù)有效。

Insert(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)
Replace(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)
Save(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)

在這里由衷的感嘆一句:gf確實非常方便。至今記得自己用gorm1.1版本時,困頓于批量插入無法自拔:# Go GORM是時候升級新版本了 2.0新特性介紹

數(shù)據(jù)修改/刪除

Update(ctx context.Context, table string, data interface{}, condition interface{}, args ...interface{}) (sql.Result, error)
Delete(ctx context.Context, table string, condition interface{}, args ...interface{}) (sql.Result, error)

總結(jié)

雖然GoFrame的ORM鏈式操作非常簡單且強大,但是業(yè)務(wù)中總還是有一些邏輯需要使用原生方法實現(xiàn),化繁為簡。

以上就是GoFrame ORM原生方法操作示例的詳細內(nèi)容,更多關(guān)于GoFrame ORM原生方法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go?語言結(jié)構(gòu)體鏈表的基本操作

    Go?語言結(jié)構(gòu)體鏈表的基本操作

    鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的,這篇文章主要介紹了Go?語言結(jié)構(gòu)體鏈表,需要的朋友可以參考下
    2022-04-04
  • 使用gRPC實現(xiàn)獲取數(shù)據(jù)庫版本

    使用gRPC實現(xiàn)獲取數(shù)據(jù)庫版本

    這篇文章主要為大家詳細介紹了如何使用gRPC實現(xiàn)獲取數(shù)據(jù)庫版本,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • 更高效的GoLevelDB:shardingdb實現(xiàn)分片和并發(fā)讀寫操作

    更高效的GoLevelDB:shardingdb實現(xiàn)分片和并發(fā)讀寫操作

    這篇文章主要介紹了更高效的GoLevelDB:shardingdb實現(xiàn)分片和并發(fā)讀寫操作的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • 解決golang http重定向失效的問題

    解決golang http重定向失效的問題

    這篇文章主要介紹了解決golang http重定向失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言的io輸入輸出流方式

    Go語言的io輸入輸出流方式

    Go語言中,輸入輸出流的處理通過io庫中的Reader和Writer接口來實現(xiàn),Reader接口定義了Read方法,用于從流中讀取數(shù)據(jù)到程序中,Writer接口定義了Write方法,用于將數(shù)據(jù)寫入到底層的數(shù)據(jù)流中,這些接口被許多標準庫的類型所實現(xiàn)
    2024-10-10
  • Golang實現(xiàn)簡單http服務(wù)器的示例詳解

    Golang實現(xiàn)簡單http服務(wù)器的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Golang實現(xiàn)簡單http服務(wù)器,文中的示例代碼講解詳細,對我們學習Golang有一定的幫助,需要的可以參考一下
    2023-03-03
  • Go語言實現(xiàn)新春祝福二維碼的生成

    Go語言實現(xiàn)新春祝福二維碼的生成

    二維碼現(xiàn)在是隨處度可以看到,買東西,支付,添加好友只要你掃一掃就能完成整個工作,簡單且方便。所以利用這個新春佳節(jié)做一個帶著新春祝福的二維碼吧
    2023-02-02
  • Go語言實現(xiàn)機器大小端判斷代碼分享

    Go語言實現(xiàn)機器大小端判斷代碼分享

    這篇文章主要介紹了Go語言實現(xiàn)機器大小端判斷代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2014-10-10
  • Golang字符串類型原理及其使用方法

    Golang字符串類型原理及其使用方法

    本文主要介紹了Golang字符串類型原理及其使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • golang struct 實現(xiàn) interface的方法

    golang struct 實現(xiàn) interface的方法

    這篇文章主要介紹了golang struct 實現(xiàn) interface的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

屏南县| 莱西市| 庆阳市| 玛曲县| 将乐县| 湘乡市| 西林县| 博湖县| 增城市| 山西省| 高尔夫| 和林格尔县| 蕉岭县| 馆陶县| 屏东市| 东乌珠穆沁旗| 九寨沟县| 重庆市| 钦州市| 长葛市| 黔西| 兴宁市| 高安市| 福州市| 阿鲁科尔沁旗| 横山县| 邓州市| 通海县| 和平区| 婺源县| 宜都市| 深泽县| 黎城县| 左云县| 绥棱县| 阜南县| 攀枝花市| 西盟| 清苑县| 出国| 鹰潭市|