代码里面定义一个全局变量*gorm.DB, init初始化一下, 然后就可以正常使用了
但是 数据库连接在哪里close呢, 或者需要close吗?
代码里面定义一个全局变量*gorm.DB, init初始化一下, 然后就可以正常使用了
但是 数据库连接在哪里close呢, 或者需要close吗?
直接看官方示例:
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
func main() {
db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local")
defer db.Close()
}
全局变量*gorm.DB,只是一个对数据库连接前的初始化加载,你不需要关心数据库连接关闭的问题。 但是你需要关注数据库连接数的健康状况 ~Gorm rows未关闭的坑
7 回答5.6k 阅读
6 回答7.1k 阅读✓ 已解决
4 回答2.5k 阅读
2 回答1.1k 阅读✓ 已解决
1 回答2.3k 阅读
2 回答1.1k 阅读
1 回答1.1k 阅读
创建gorm.DB对象的时候连接并没有被创建,在具体使用的时候才会创建。gorm内部,准确的说是
database/sql
内部会维护一个连接池,可以通过参数设置最大空闲连接数,连接最大空闲时间等。使用者不需要管连接的创建和关闭。