sql.Open()方法为打开连接池,获得返回值为一个数据库的抽象,不需要频繁创建和销毁 目前想到是写在一个go文件中然后大写首字母以导出,可以供其他包访问,但觉得不是很合理 如何将这个对象作为全局对象,使其可以在其他包、文件中引用合理一些呢?
有疑问加站长微信联系(非本文作者)

sql.Open()方法为打开连接池,获得返回值为一个数据库的抽象,不需要频繁创建和销毁 目前想到是写在一个go文件中然后大写首字母以导出,可以供其他包访问,但觉得不是很合理 如何将这个对象作为全局对象,使其可以在其他包、文件中引用合理一些呢?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
这样组织吗?
meapp/sql.init
函数,初始化mepkg/sql.DB
meapp/sql.DB
默认 Conn 对象看不懂你写的
可以利用上下文
context
来进行处理, 可以简单参考一下数据共享这篇文章据我经验,全局变量更易用,也可以用一个context,但是代码反而变得复杂起来
谢谢,我看一下
main.go 文件中
import _"your-model-package"` 在your-model-package 里面init函数中 初始化gorm实例 赋值给 modelPackage 的public 变量DB用gorm?不用框架现在就是这么做的
不管是什么orm,确保数据库只初始化一次. 可以把数据库初始化写到main函数或者 init函数中, 数据库初始化的实例 public 就可以了.
项目结构
一个实例,db.go
不要Close掉了,全局就一个实例,建议设置连接池