亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

sqlx.Connect() 和 sqlx.Open() 有什么區別?

sqlx.Connect() 和 sqlx.Open() 有什么區別?

Go
繁花如伊 2023-04-04 14:41:37
我正在為我的 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?是什么讓它與眾不同?謝謝
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

Connect 將使用 open 和 ping 來檢查有效連接,然后您可以處理錯誤。

基本上您可以立即看到數據庫連接不存在于一種方法中,而不是您自己再次編寫該代碼。


查看完整回答
反對 回復 2023-04-04
  • 1 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號