Maison >développement back-end >Golang >À propos de la connexion à la base de données SQL globale Golang

À propos de la connexion à la base de données SQL globale Golang

藏色散人
藏色散人avant
2020-12-23 14:56:553366parcourir
Ce qui suit est relié par la colonne

Tutoriel Golang pour présenter la connexion globale à la base de données SQL à tout le monde, j'espère que cela sera utile aux amis qui en ont besoin !

À propos de la connexion à la base de données SQL globale Golang

Golang Comment écrire une connexion à une base de données SQL de manière globale, sans création ni destruction fréquentes à chaque fois, réduisant ainsi la consommation de la base de données et la complexité du code.

La connexion à la base de données est généralement définie dans db.go sous la couche modèle (le nom est personnalisé, il peut également être base de données ou sql, lié à la base de données)

Parce que j'utilise mongoDb ici, c'est le modèle /mgo.go

Code :
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
}

Puis initialisez

func main() {
  //初始化mongodb
  model.Connect()
}

dans main.go Lorsque des opérations de base de données sont requises, appeler directement dans la base de données du modèle peut être

collection := model.DB.Collection("表名")
//插入操作
insertResult, err := collection.InsertOne(context.TODO(), "内容")

mysql ou une autre base de données ou un framework gorm, il en va de même.

Pour plus d'articles techniques connexes, veuillez visiter la colonne du didacticiel

go langage  !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer