// 初始化mysql连接
func initMysql() error {
var err error
//DSN:data Source Name
dsn := "root:@tcp(127.0.0.1:3306)/life" //(定义数据裤的地址、用户名、端口、数据库名称)数据库的配置信息
//去初始化全局的db对象而不是新声明一个db变量
DB, err = sql.Open("mysql", dsn) //传入连接的类型(mysql、sqlite)还有数据库的配置信息,去连接数据库,最终返回一个数据库的”连接“
if err != nil {
panic(err)
}
err = DB.Ping() //验证数据库有没有连接成功,成功的话返回nil,没成功的话,返回错误信息
DB.SetConnMaxLifetime(time.Second * 10)
DB.SetMaxIdleConns(10)
DB.SetMaxOpenConns(10)
return err
}
func main() {
err := initMysql() //初始化mysql
if err != nil {
fmt.Printf("数据库初始化失败:%s\n", err.Error())
return
}
QueryRowDemo() //执行单行查询
queryMultiRowDemo()
defer DB.Close() //注意这行代码要写在上面err判断的下面
}
type user struct {
id int
age int
name string
}
初学Mysql与go(初始化mysql连接)
于 2024-04-01 22:33:11 首次发布