close
ORM的用與不用至今還沒有一個一致的答案,尤其是ORM對複雜語句的支援不足一直是很大的問題,效能的影響就又是另一個問題,但假如是一般輕量小規模的Web服務,其實我是還蠻推薦使用的就是。
找了一下Golang上比較主流的orm套件以gorm與xorm為大宗,但因為gorm一見面就跟你要donate,雖然還是很感謝作者們的付出,但我還是用xorm好了....
XORM操作指南裡面其實已經對xorm的使用有很完整的介紹,這裡只稍微補充:
非本地端的Data Source的連接字串格式,以mysql為例
$acc:$pwd@tcp($address:$port)/$schema
dataSource = "root:123@tcp(127.0.0.1:3306)/GoLang"
engine, err := xorm.NewEngine("mysql", dataSource)
複合式PK與Index設定範例,畢竟這實在太常要用到
type Team struct {
Owner int64 `xorm:"'Owner' pk"`
TeamID int `xorm:"'TeamID' pk"`
Position int `xorm:"'Position' pk"`
CardID int `xorm:"'CardID' NOT NULL index(OwnerCardID)"`
Name string `xorm:"'Name' NOT NULL varchar(50) index(OwnerCardID)"`
Created time.Time `xorm:"'Created' NOT NULL"`
Updated time.Time `xorm:"'Updated' NOT NULL"`
}
err = engine.Sync2(new(Team))
下一篇:
[Golang] 學習筆記(5) 簡單的遊戲伺服器骨架與效能測試
文章標籤
全站熱搜