PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
下面由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免费学习笔记(深入):立即学习
在学习笔记中,你将探索golang的核心概念和高级技巧!
已抢7204个
抢已抢94855个
抢已抢14826个
抢已抢52068个
抢已抢194763个
抢已抢87280个
抢