golang 连接池mysql
时间:2021-07-01 10:21:17
帮助过:16人阅读
"database/sql"
"fmt"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
"log"
)
var Db *
sql.DB
func init() {
fmt.Println("系统启动的时候就加载(并不是用户访问的时候加载) 因为连接池 只是用户使用的时候就会建立连接 用完返回")
var err error
Db, err = sql.Open(
"mysql",
"xxx:xx@tcp(1111:3306)/xxxx")
if err !=
nil {
log.Panicln("err:", err.Error())
}
Db.SetMaxOpenConns(0)
Db.SetMaxIdleConns(0)
}
func main() {
r :=
gin.Default()
r.GET("/ping", func(c *
gin.Context) {
fmt.Println("Hello, World1!")
var err error
result, e := Db.Exec(
"insert into xxxx(name, phone) values (?,?);",
"姓名",
"手机号")
if e !=
nil {
log.Panicln("user insert error", e.Error())
}
id, err :=
result.LastInsertId()
if err !=
nil {
log.Panicln("user insert id error", err.Error(), id)
}
c.JSON(200, gin.H{
"message":
"pong1",
})
})
r.GET("/pings", func(c *
gin.Context) {
fmt.Println("Hello, World2!")
})
r.Run(":8082")
// listen and serve on 0.0.0.0:8080
}
并发1000测试 cpu占用10%
golang 连接池mysql
标签:tab database pen 连接 pac context result golang 使用