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

藏色散人
Libérer: 2020-12-23 14:58:12
avant
3313 Les gens l'ont consulté
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
}
Copier après la connexion

Puis initialisez

func main() {
  //初始化mongodb
  model.Connect()
}
Copier après la connexion

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(), "内容")
Copier après la connexion
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!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal