我正在为我的 golang 项目使用jmoiron sqlx库。我试图创建一个数据库连接mysql。所以,我找到了这两个函数:sqlx.Connect()
和sqlx.Open()
,但没有发现区别。
因此,我尝试阅读godoc中的文档。我找到了这个:
sqlx.连接()
Connect to a database and verify with a ping.
sqlx.Open()
Open is the same as sql.Open, but returns an *sqlx.DB instead.
我知道sqlx.Open()
使用 golang 创建到数据库的连接sql.Open
。但是有什么sqlx.Connect()
用呢?
如果我在这里看到源代码:
func Connect(driverName, dataSourceName string) (*DB, error) {
db, err := Open(driverName, dataSourceName)
if err != nil {
return nil, err
}
err = db.Ping()
if err != nil {
db.Close()
return nil, err
}
return db, nil
}
sqlx.Open()我可以看到它的调用与调用相同db.Ping()。所以唯一的区别是sqlx.Open()在创建连接后执行ping?如果是这样,为什么它会ping?是什么让它与众不同?
谢谢
绝地无双
相关分类