package main
import (
"database/sql"
"time"
)
//1.使用前安装mysql驱动器
//go get github.com/go-sql-driver/mysql
func init() {
sql.Register("mysql", &MySQLDriver{})
}
func main() {
//代表一个具有零到多个底层连接的连接池,它可以安全的被多个 goroutine 同时使用
db, _ := sql.Open("mysql", "root:@tcp(localhost:3306)/test?charset=utf8")
// 去掉注释,可以看看相应的空闲连接是不是变化了
if err != nil {
panic(err)
}
defer db.Close()
//设置连接池中能够保持的最大空闲连接的数量。默认值是2
// db.SetMaxIdleConns(3)
for i := 0; i < 10; i++ {
go func() {
db.Ping() //多个goroutine并发
}()
}
time.Sleep(20 * time.Second)
}
End.
更多评论
什么鬼……
引入Mysql驱动不是
import (_ "github.com/go-sql-driver/mysql")
么
sql库不是自带链接池设置么
#1