gorm的问题,为了全局使用db,我定义了全局变量,如果分成多个文件,db对象如何获取?
package mainimport (
"fmt"
"github.com/gin-gonic/gin"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"log"
)
var db *gorm.DB
var err error
func main() {
r := gin.Default()
dsn := "root:[email protected](127.0.0.1:3306)/iapplus?charset=utf8mb4&parseTime=True&loc=Local"
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err!=nil {
log.Fatal("数据库连接错误")
}
r.GET("/ping/:name", ping)
r.Run("127.0.0.1:8081") // listen and serve on 0.0.0.0:8080
}
func ping(c *gin.Context) {
//c.JSON(200, gin.H{
// "message": "pong",
//})
var user UserModel
db.First(&user)
fmt.Println(user.ID)
fmt.Println(user.Mobile)
c.String(200, "Hello World"+c.Param("name"))
}
回答
定义一个model 包,或者 const 的包
然后在 main 里面导入这个 model
初始化链接上数据库后,就可以
model.DB = db
然后其他包只需要引入 model , 再 model.DB 就可以愉快的使用了
以上是 gorm的问题,为了全局使用db,我定义了全局变量,如果分成多个文件,db对象如何获取? 的全部内容, 来源链接: utcz.com/a/105760.html