Maison  >  Article  >  développement back-end  >  Comment se connecter à la base de données dans Golang

Comment se connecter à la base de données dans Golang

angryTom
angryTomoriginal
2020-03-14 18:17:365528parcourir

Comment se connecter à la base de données dans Golang

Comment se connecter à la base de données dans Golang

1 Pour vous connecter à la base de données, vous devez d'abord avoir une connexion. pilote et installez le pilote

go get github.com/go-sql-driver/mysql

Une fois le téléchargement réussi, il sera enregistré dans le sous-répertoire src sous le répertoire GOPATH du système actuel

(tutoriel vidéo d'apprentissage gratuit recommandé : tutoriel vidéo mysql)

2. Connectez-vous à la base de données

● Établissez une connexion, le format est : « Nom d'utilisateur : Mot de passe @tcp (IP : port)/database?charset=utf8"

● Ouvrez la base de données, le premier est le nom du pilote, il doit donc être importé :

“github.com/go-sql-driver/mysql”

● Définissez le nombre maximum de connexions à la base de données et définir le nombre maximum de connexions inactives dans la base de données

● Vérifiez la connexion : utilisez la fonction Ping()

3. Exemple de code de connexion à la base de données Golang :

import (
	"database/sql"
	"fmt"
	"strings"

	// 安装方式: go get -u github.com/go-sql-driver/mysql
	_ "github.com/go-sql-driver/mysql"
)

var (
	dbhostsip  = "127.0.0.1:3306"
	dbusername = "root"
	dbpassword = "123456"
	dbname     = "chat"
)

// 初始化数据库
func InitDB() (*sql.DB, error) {
	//构建连接信息
	dbinfo := strings.Join([]string{dbusername, ":", dbpassword, "@tcp(", dbhostsip, ")/", dbname, "?charset=utf8"}, "")
	fmt.Println(dbinfo)
	//打开数据库,前面是驱动名称,所以要导入:mysql驱动github.com/go-sql-driver/mysql
	dbins, err := sql.Open("mysql", dbinfo)
	if nil != err {
		fmt.Println("Open Database Error:", err)
		return nil, err
	}
	// 设置数据库的最大连接数
	dbins.SetConnMaxLifetime(100)
	// 设置数据库最大的闲置连接数
	dbins.SetMaxIdleConns(10)
	// 验证连接
	if err = dbins.Ping(); nil != err {
		fmt.Println("Open Database Fail,Error:", err)
		return nil, err
	}
	fmt.Println("Connect Success!!!")
	return dbins, nil
}

Pour plus de connaissances sur Golang, veuillez faire attention à la colonne tutoriel golang du site Web PHP chinois.

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