本文摘自网络,作者hikerwu,侵删。
本质上是dsn支持超时设置,不需要golang支持。
代码
// simple.go
package main
import (
"database/sql"
"log"
"time"
_ "github.com/go-sql-driver/mysql"
)
var DB *sql.DB
var dataBase = "root:Aa123456@tcp(192.168.0.101:3306)/?timeout=5s&readTimeout=6s"
func mysqlInit() {
var err error
DB, err = sql.Open("mysql", dataBase)
if err != nil {
log.Fatalln("open db fail:", err)
}
DB.SetMaxOpenConns(3)
DB.SetMaxIdleConns(3)
}
func main() {
mysqlInit()
for {
log.Println("start")
execSql()
time.Sleep(3*time.Second)
}
}
func execSql() {
var value int
err := DB.QueryRow("select 1").Scan(&value)
if err != nil {
log.Println("query failed:", err)
return
}
log.Println("value:", value)
}
相关阅读 >>
使用gin封装一个web脚手架(五):实现session(上)
在Golang中如何正确地使用database/sql包访问数据库
Go-carbon 1.4.0 版本发布,新增获取世纪和季度开始和结束时间方法
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。