Golang全局sql数据库连接的示例
小编给大家分享一下Golang全局sql数据库连接的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联专注于港口企业网站建设,响应式网站开发,商城网站建设。港口网站建设公司,为港口等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
Golang 如何把sql数据库连接写成全局的,不用每次频繁创建销毁,减少数据库消耗与代码复杂度。
数据库连接通常在model层下的db.go中定义(命名自定义,也可以是database或者sql,与数据库相关)
因为我这里是使用MongoDB所以为model/mgo.go
代码:
package modelimport ( "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框架之类的,都是同理。
看完了这篇文章,相信你对“Golang全局sql数据库连接的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
本文题目:Golang全局sql数据库连接的示例
路径分享:http://ybzwz.com/article/ggjoho.html