Rumah > pembangunan bahagian belakang > Golang > golang如何连接数据库

golang如何连接数据库

angryTom
Lepaskan: 2020-03-14 18:17:36
asal
5602 orang telah melayarinya

golang如何连接数据库

golang如何连接数据库

1、连接数据库首先需要有连接驱动,安装驱动

go get github.com/go-sql-driver/mysql
Salin selepas log masuk

下载成功后会保存到当前系统的GOPATH目录下的src子目录中

(免费学习视频教程推荐:mysql视频教程

2、连接数据库

● 构建连接, 格式是:”用户名:密码@tcp(IP:端口)/数据库?charset=utf8”

● 打开数据库,前者是驱动名,所以要导入:

“github.com/go-sql-driver/mysql”
Salin selepas log masuk

● 设置数据库最大连接数和设置上数据库最大闲置连接数

● 验证连接:使用Ping()函数

3、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
}
Salin selepas log masuk

更多golang知识请关注PHP中文网golang教程栏目。

Atas ialah kandungan terperinci golang如何连接数据库. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan