国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

通過實戰總結的 GoFrame 使用小技巧

開發 后端
生成的dao文件和同事們的不一致,生成文件成功,但是對應的Columns方法是空的。雖然有這個方法,但是方法內沒有值。我的版本比同事們的略高,我一直以為是這個原因,各種降級和同事保持一致的版本后還是不行。

gf gen dao

生成dao層的腳手架工具很好用,我遇到的坑是這樣的:

生成的dao文件和同事們的不一致,生成文件成功,但是對應的Columns方法是空的。雖然有這個方法,但是方法內沒有值。我的版本比同事們的略高,我一直以為是這個原因,各種降級和同事保持一致的版本后還是不行。

最終發現:是配置文件中連接的數據庫不對。

因為沒有連接到數據庫,所以取不到列值;但是因為配置文件中約定了表名,文件正常生成了。

如果你也遇到了類似問題,去排查一下配置文件吧。

設置參數可傳可不傳

這個場景和是否使用GoFrame框架沒關系,如果你也需要設置這個參數可傳可不傳,也能這么搞:

使用 ...interface{}

比如:

func GetXxx(xxx ...interface{}) { }

model作為結構體類型

當我們的業務比較復雜,需要更新多個關聯表時,可以把需要修改的表統一定義到一個結構體中,而不是想到一個model處理一個model。

這種思想比較好,把關聯的model統一封裝到一個結構體中,很清晰,也能避免有遺漏。

type GoodsRelevantItem struct {
Shop *model.Shops
Brand *model.GoodsBrand
Desc *model.GoodsDescription
Cover []*model.GoodsCover
Attributes []*model.GoodsAttributes
Goods *model.Goods
DisCategory []*model.DisCategory
}

模型關聯

關于模型關聯,官方是這么說的:

GoFrame的ORM沒有采用其他ORM常見的BelongsTo, HasOne, HasMany, ManyToMany這樣的模型關聯設計,這樣的關聯關系維護較繁瑣,例如外鍵約束、額外的標簽備注等,對開發者有一定的心智負擔。因此gf框架不傾向于通過向模型結構體中注入過多復雜的標簽內容、關聯屬性或方法,并一如既往地嘗試著簡化設計,目標是使得模型關聯查詢盡可能得易于理解、使用便捷。

我也花時間整理了自己在項目中的示例,但是發現自己整理的例子沒有官網的好理解,所以最終我還是把自己的例子刪掉了。

「模型關聯」這部分比較硬核且實用,但是也確實有理解成本。

大家還是看官方示例吧:

「模型關聯-動態關聯-ScanList」:https://goframe.org/pages/viewpage.action?pageId=1114326

「模型關聯-靜態關聯-With特性」:https://goframe.org/pages/viewpage.action?pageId=7297190

我也會把官方示例放到閱讀原文中,方便大家去查看。

添加數據

goframe非常靈活,插入的數據可以是結構體也可以是map,也可以是map類型的切片,來實現批量添加。

舉個栗子:

主程序如下:

//主圖輪播
goodsImgs := []map[string]interface{}{} //圖片集
for k, img := range gomeGoods.MainImgs {
goodsImg := map[string]interface{}{} //圖片
goodsImg["cover"] = "http:" + img
goodsImg["goods_id"] = gconv.Int(goodsDetail["goods_id"])
goodsImg["sort"] = k
goodsImgs = append(goodsImgs, goodsImg)
}
//添加主圖
err = m.AddGoodsCover(ctx, tx, goodsImgs)
if err != nil {
err = errors.New("添加商品主圖失敗")
return err, 0
}

MainImgs的定義:

MainImgs []string `json:"mainImgs"`

批量插入數據

batch指定了批量插入時一次插入的條數

func (m *goodsMessageService) AddGoodsCover(ctx context.Context, tx *gdb.TX, goodsImgs g.List) (err error) {
if len(goodsImgs) == 0 {
return errors.New("暫無數據")
}
_, err = dao.GoodsCover.TX(tx).Ctx(ctx).Batch(len(goodsImgs)).Insert(goodsImgs)
checkErr(err, "UpdateGoodsCover")
return
}

配置插件自動生成service

如果你在用goframe V2.1 以上版本,生成service強烈建議配置goland插件,而不是每次修改logic后手動敲腳本。

配置方式如下:

圖片

配置文件鏈接:https://goframe.org/pages/viewpage.action?pageId=49770772&preview=/49770772/49770777/watchers.xml

小技巧:當自動生成的文件報錯,或者出現一些“神奇的問題”,建議把生成的文件刪除掉。在對應的logic代碼空白處隨便敲個回車或者空格就能生成新的service文件。

注意:千萬不要手動修改自動生成的代碼。(因為自己修改的代碼后期肯定會被覆蓋掉)

總結

紙上得來終覺淺,覺知此事要躬行。

編程是一門手藝活,一定多動手,重實踐,才能獲得長足的進步。

本文轉載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關注。

轉載本文請聯系「 程序員升級打怪之旅」公眾號。

責任編輯:武曉燕 來源: 程序員升級打怪之旅
相關推薦

2015-09-15 08:30:23

Android代碼優化

2021-12-16 10:53:23

shell命令腳本

2021-05-13 12:46:54

GNU ScreenLinux

2015-08-24 08:59:13

Git技巧

2018-09-07 23:38:45

小程序開發框架

2022-10-27 11:23:26

GoFrame共享變量

2013-09-24 10:07:19

Ruby項目

2020-10-23 09:50:20

鏈表Java代碼

2013-11-15 14:23:28

Ubuntu技巧

2022-04-02 09:56:44

pipPython

2015-07-27 09:36:09

storyboard

2022-08-15 15:43:29

Linuxcron

2022-08-18 10:01:35

Jmeter技巧

2013-06-07 14:35:19

Mac OS X

2009-07-19 10:48:53

LinuxWebShell反彈CmdLine She

2022-06-27 17:03:58

LibreOffic

2024-03-26 15:21:43

2022-01-06 15:21:32

pipPython技巧

2011-06-17 09:18:56

sudo技巧

2019-10-28 14:37:10

MySQL 數據庫收藏
點贊
收藏

51CTO技術棧公眾號

黄页网站视频在线观看| 日韩精品亚洲专区在线观看| 亚洲国产精品久久不卡毛片 | 国产精品免费视频观看| julia中文字幕久久亚洲蜜臀| 国产激情视频一区二区三区欧美| 久久久久久久中文| 国产婷婷色一区二区三区四区| 神马影院我不卡| 亚洲国产不卡| 亚洲国产激情一区二区三区| 欧美午夜不卡| 亚洲一区二区在线播放| 亚洲图色一区二区三区| 国产精品免费在线| 欧美天天视频| 成人c视频免费高清在线观看| 欧美精品国产白浆久久久久| 欧美一区二区在线免费播放 | 欧美天天综合网| 国家队第一季免费高清在线观看 | 污影院在线观看| 亚洲品质自拍视频| 能在线观看av网站| 欧美mv日韩mv国产网站| 欧美a在线观看| 在线日韩第一页| 国产综合精品| 日本在线一二三区| 亚洲第一av网| 欧美久色视频| 欧美一级在线看| 亚洲网站在线播放| 一区二区三区自拍视频| 国产精品久久久久久久9999| 国产精品草草| 亚洲国产一二三精品无码 | 婷婷综合六月| 久久精品久久久久久| 在线一区免费观看| 18av.com视频| 欧美电影一区二区三区| 成人在线视频www| 国产精品v欧美精品v日韩精品 | 春色校园综合激情亚洲| 一区二区三区欧美成人| 精品精品国产高清a毛片牛牛| 91麻豆精品国产91久久久更新资源速度超快| 日韩资源av在线| 亚洲福利在线播放| 蜜桃视频在线观看一区| 中文字幕在线观看播放| 777国产偷窥盗摄精品视频| 欧美国产精品v| 欧美日韩国产一区二区在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 欧美大片在线看| 成人精品一区二区三区中文字幕| 日韩专区一区二区| 国产深夜精品福利| 欧美日韩国产影片| 免费成人你懂的| 日本免费一区二区三区等视频| 欧美日韩一道本| 亚洲精品久久在线| 精品福利av| 九九九伊在线综合永久| 日本电影免费看| 国产综合色香蕉精品| 亚洲精品一区二区三区四区高清 | 日韩激情第一页| 亚洲图片你懂的| 日韩午夜在线| 成人国产激情| 蜜芽tv福利在线视频| www.射射射| 中文字幕亚洲综合久久| www.日韩精品| 888av在线视频| 亚洲图片小说在线| 欧美成人免费在线观看| 亚洲一区成人在线| 成人爱爱电影网址| 91精品一区二区三区综合在线爱 | av色综合网| 国内精品在线一区| 国产精品x8x8一区二区| 国产日韩欧美在线播放| 亚洲人成毛片在线播放| 国产精品久久久久精k8 | 久久久爽爽爽美女图片| 国产精品三级久久久久三级| 亚洲三级性片| 青春草免费在线视频| 国产a级一级片| 国产一区视频在线播放| 久久91亚洲人成电影网站| 欧美日韩在线影院| 亚洲人成网站影音先锋播放| 精品久久国产| 亚洲另类春色校园小说| 不卡福利视频| 欧美裸体视频| 欧美黑人激情| 日本aa大片在线播放免费看| 精品在线视频一区二区| 热99久久精品| 97在线视频一区| 美女福利视频一区| 久久久国产影院| 在线日韩日本国产亚洲| 亚洲欧美变态国产另类| 亚洲女人被黑人巨大进入| 在线观看国产成人av片| 亚洲人成在线观看| 色先锋资源久久综合| 91蜜桃免费观看视频| 99精品黄色片免费大全| 香蕉久久久久久久av网站| 久久国产88| 成人小视频免费在线观看| 2022国产精品视频| 国产精品视频一二三| 亚洲男人天堂一区| 日韩精品视频观看| 欧美一级大片视频| 美女性感视频久久久| 亚洲一本大道在线| 亚洲三级久久久| 欧美日韩免费在线观看| 亚洲小说欧美激情另类| 色婷婷久久久亚洲一区二区三区| 一区二区三区日韩欧美| 懂色av影视一区二区三区| 欧美性色19p| 欧美精品亚洲二区| 91精品啪在线观看国产60岁| 亚洲国产99精品国自产| www.日韩免费| 成人亲热视频网站| 久久久精彩视频| 欧美久久久久久久久久久久久| 国产91社区| 亚洲国产天堂久久国产91| 香蕉成人伊视频在线观看| 91精品国产品国语在线不卡| 91精品国产乱码| 精品香蕉在线观看视频一| 伊人青青综合网站| 亚洲男人av在线| 奇米影视亚洲狠狠色| 精品国产乱码久久久久久丨区2区| 国产原创欧美精品| 日本一区视频在线| 妞干网这里只有精品| 绯色av一区| 国产另类xxxxhd高清| 亚洲网站在线| 国产欧美日韩在线观看| 日韩一区二区三区四区五区六区| 在线观看91久久久久久| 日韩在线精品视频| 欧美一级片在线| 日韩av在线资源| 国产午夜精品在线| 色中文字幕在线观看| 韩国版免费三体| 欧亚在线中文字幕免费| 欧美偷拍自拍| 26uuu国产一区二区三区| 欧美日本在线一区| 国产成人精品视频在线| 日产精品久久久一区二区| 五月天婷婷综合社区| 成人亚洲精品| 国产视频一区三区| 中文无字幕一区二区三区| 欧美亚男人的天堂| 久久精品久久久久电影| 欧美做暖暖视频| 麻豆91在线| 欧美日韩1区| 一本大道久久a久久精二百| 亚洲女在线观看| 91九色单男在线观看| 丁香资源影视免费观看| gogogogo高清视频在线| 久久亚洲一区| 欧美性猛交xxxx乱大交3| 午夜精品福利视频| 999久久欧美人妻一区二区| 亚洲私拍视频| 蜜乳av一区二区三区| 欧美网站在线观看| 亚洲精品欧美日韩专区| 亚洲福利精品视频| 日韩夫妻性生活xx| 狠狠操狠狠色综合网| 国产欧美日韩综合精品二区| 超碰在线播放91|