下列中之後對golang教學專欄為大家一起介紹Golang 全域sql一起連接,希望對需要的朋友有所幫助!
Golang 如何把sql資料庫連接寫成全域的,不用每次頻繁建立銷毀,減少資料庫消耗與程式碼複雜度。
資料庫連接通常在model層下的db.go中定義(命名自定義,也可以是database或sql,與資料庫相關)
因為我這裡是使用mongoDb所以為model /mgo.go
package model import ( "context" _ "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "log" "time" ) type mgo struct { uri string //数据库网络地址 database string //要连接的数据库 //collection string //要连接的集合 } var ( DB *mongo.Database ) func Connect() (*mongo.Database, error) { var m = &mgo{ "mongodb://localhost:27017", "数据库名", //"数据库表名", } ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(m.uri)) if err != nil { log.Print(err) } DB = client.Database(m.database) return DB, err }
然後在main.go中初始化
func main() { //初始化mongodb model.Connect() }
需要進行資料庫操作時,直接呼叫model中的DB即可
collection := model.DB.Collection("表名") //插入操作 insertResult, err := collection.InsertOne(context.TODO(), "内容")
mysql或者其它資料庫或gorm框架之類的,都是同理。
更多相關技術文章,請造訪go語言教學欄位!
以上是關於Golang 全域sql資料庫連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!