汎用データベースインターフェース(sql.DB)

GORMは、DB メソッドを定義しています。これは *gorm.DB から、汎用的なDB操作のインターフェイスである *sql.DB を返却します。

// 汎用データベースオブジェクトの sql.DB を取得する
sqlDB, err := db.DB()

// Ping
sqlDB.Ping()

// Close
sqlDB.Close()

// データベースの統計を返却する
sqlDB.Stats()

注意 トランザクション内のような、基盤となるデータベース接続が *sql.DBでない場合、DBメソッドはエラーを返します。

コネクションプール

// Get generic database object sql.DB to use its functions
sqlDB, err := db.DB()

// SetMaxIdleConns sets the maximum number of connections in the idle connection pool.
sqlDB.SetMaxIdleConns(10)

// SetMaxOpenConns sets the maximum number of open connections to the database.
sqlDB.SetMaxOpenConns(100)

// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
sqlDB.SetConnMaxLifetime(time.Hour)

Platinum Sponsors

Gold Sponsors

Platinum Sponsors

Gold Sponsors