package models import ( "fmt" "log" "time" "github.com/go-ini/ini" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/driver/mysql" ) var DB *gorm.DB func init() { cfgs, err := ini.Load("conf/db.ini") if err != nil { log.Fatalln(err) } section := cfgs.Section("mysql") user := section.Key("user").Value() password := section.Key("password").Value() host := section.Key("host").Value() port , _ := section.Key("port").Int() database := section.Key("database").Value() constr := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", user, password, host, port, database) fmt.Println(constr) DB, err = gorm.Open(mysql.Open(constr), &gorm.Config{}) sqlDB, _ := DB.DB() // 5秒内连接没有活跃的话则自动关闭连接 sqlDB.SetConnMaxLifetime(time.Second * 5) DB.Logger = logger.Default.LogMode(logger.Silent) if err != nil { panic(err) } else { fmt.Println("数据库初始化成功...") } }