package config import ( "database/sql" "fmt" "gopkg.in/yaml.v3" "io/ioutil" "log" ) var SysConfig Config var Db *sql.DB //var mysqlDB *mysql.Mysql type Config struct { Port string `yaml:"port"` Database DatabaseConfig `yaml:"database"` } type DatabaseConfig struct { Host string `yaml:"host"` Port int `yaml:"port"` User string `yaml:"user"` Password string `yaml:"password"` DBName string `yaml:"dbname"` } func LoadConfig() { data, err := ioutil.ReadFile("./config.yaml") if err != nil { log.Println("read config err:", err) } //config := &Config{} err = yaml.Unmarshal(data, &SysConfig) if err != nil { log.Println("read config err:", err) } } // 初始化连接 MySQL 数据库并创建绑定表(如果不存在) func InitDB() { dbCon := fmt.Sprintf("%s:%s@tcp(%s)/jy_resume?charset=utf8&parseTime=True&loc=Local", SysConfig.Database.User, SysConfig.Database.Password, SysConfig.Database.Host) var err error Db, err = sql.Open("mysql", dbCon) if err != nil { log.Fatal("数据库连接错误:", err) } // 测试数据库连接 if err = Db.Ping(); err != nil { log.Fatal("数据库 ping 错误:", err) } //defer Db.Close() /*mysqlDB = &mysql.Mysql{ Address: SysConfig.Database.Host, UserName: SysConfig.Database.User, PassWord: SysConfig.Database.Password, DBName: SysConfig.Database.DBName, MaxOpenConns: 5, MaxIdleConns: 5, } mysqlDB.Init()*/ }