sql.Open()方法为打开连接池,获得返回值为一个数据库的抽象,不需要频繁创建和销毁
目前想到是写在一个go文件中然后大写首字母以导出,可以供其他包访问,但觉得不是很合理
如何将这个对象作为全局对象,使其可以在其他包、文件中引用合理一些呢?
项目结构
```
|---- app db/memcached/redis等等业务无关组件
|---- main.go 主程序
```
一个实例,db.go
```
var (
DB *sql.DB
)
func init() {
var err error
DB,err = sql.Open("mysql","xxxx")
if err != nil {
log.Fatal(err)
}
if err:=DB.Ping();err!=nil {
log.Fatal(err)
}
log.Println("database initialized")
}
```
不要Close掉了,全局就一个实例,建议设置连接池
#9
更多评论