代码里面定义一个全局变量*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.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答2k 阅读✓ 已解决
1 回答3.4k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
创建gorm.DB对象的时候连接并没有被创建,在具体使用的时候才会创建。gorm内部,准确的说是
database/sql
内部会维护一个连接池,可以通过参数设置最大空闲连接数,连接最大空闲时间等。使用者不需要管连接的创建和关闭。