我已經(jīng)dao.go通過以下實現(xiàn)實現(xiàn)了文件:type DbClient struct {
db *gorm.DB
}GetDBClient()初始化與數(shù)據(jù)庫的連接并返回(*DbClient, error)func (db *DbClient) Close() {
db.db.Close()
}不同的CRUD方法DbClient為main.go所有處理程序提供服務(wù)的文件像這樣使用它:var dbClient *DbClientfunc main() { db, err := GetDBClient() if err != nil { panic(err) } dbClient = db defer dbClient.Close() ...}main.go所以所有使用 global的處理程序dbClient。這種架構(gòu)線程安全嗎?它是否提供數(shù)據(jù)庫操作的原子性?
這種數(shù)據(jù)訪問模式是線程安全的嗎?
ibeautiful
2023-05-15 15:13:36