
golang如何连接数据库
1、连接数据库首先需要有连接驱动,安装驱动
go get github.com/go-sql-driver/mysql
下载成功后会保存到当前系统的GOPATH目录下的src子目录中
2、连接数据库
● 构建连接, 格式是:”用户名:密码@tcp(IP:端口)/数据库?charset=utf8”
● 打开数据库,前者是驱动名,所以要导入:
“github.com/go-sql-driver/mysql”
● 设置数据库最大连接数和设置上数据库最大闲置连接数
● 验证连接:使用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
}另外有需要云服务器可以了解下风纳云fengnayun.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。