下面由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中文网其它相关文章!

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除

  • 相关标签:go golang go教程
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:记录Golang Recover的一个小坑
    • 下一篇:你知道golang中的闭包的意义和用法吗

    相关文章

    相关视频


    • golang如何生成JSON及解析JSON
    • 详解Golang如何对excel进行处理
    • 详解Golang数组的传递
    • Golang怎么执行cmd命令行
    • 关于Golang连接池的几种实现案例
    • 关于Golang 全局sql数据库连接
    • go语言介绍和环境搭建2

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    关于Golang 全局sql数据库连接