Я использую библиотеку jmoiron sqlx для моего проекта golang.Я пытался создать соединение базы данных MySQL.Итак, я нашел эти две функции: sqlx.Connect()
и sqlx.Open()
, но не нашел разницы.
Итак, я попытался прочитать документацию в godoc .Я нашел это:
sqlx.Connect ()
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()
use?
Если я увижу здесь внутри исходный код:
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 после создания соединения?Если это так, почему это пинг?Что отличает его?
Спасибо