我正在将我的应用程序连接到 MySql。代码的结构如下,虽然可行,但对我来说有点奇怪。这是正确的模式吗?
我已将与 Db 相关的内容保存在一个单独的文件中,如下所示:
var DatabaseObject MySqlDatabase
type IMySqlDatabase interface {
ConnectToDb() MySqlDatabase
GetDb() MySqlDatabase
}
type MySqlDatabase struct{
Db *sql.DB
}
func (MySqlDatabase) ConnectToDb(connectionString string){
db, _ := sql.Open("mysql", connectionString)
_ = db.Ping()
DatabaseObject = MySqlDatabase{Db: db}
}
func (MySqlDatabase) GetDb() *sql.DB{
return DatabaseObject.Db
}
因此,我可以通过以下方式连接到数据库:
infrastructureMySql.DatabaseObject.ConnectToDb(connectionString)
我觉得很奇怪。首先有没有界面的感觉?如果我没有它,我可以简单地使用*sql.DB作为全局变量。感谢您的反馈意见。
暮色呼如
浮云间
相关分类