You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go_mqtt/mydb/ManageDb.go

24 lines
594 B
Go

9 months ago
package mydb
import (
"database/sql"
"fmt"
"time"
)
type ManageDb struct {
Name string
Db *sql.DB
}
func NewDatabase(dbName, user, password, host string, port int) (*ManageDb, error) {
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s", user, password, host, port, dbName)
db, err := sql.Open("mysql", dsn)
db.SetConnMaxLifetime(time.Minute * 5) // 连接最大生命周期
db.SetMaxOpenConns(50) // 最大连接数
db.SetMaxIdleConns(10) // 最大空闲连接数
if err != nil {
return nil, err
}
return &ManageDb{Name: dbName, Db: db}, nil
}