package db import ( "app.yhyue.com/moapp/jybase/mysql" "app.yhyue.com/moapp/jybase/redis" "database/sql" "github.com/gogf/gf/v2/os/gcfg" "github.com/gogf/gf/v2/os/gctx" "log" ) type Mysql struct { Address string //数据库地址:端口 UserName string //用户名 PassWord string //密码 DBName string //数据库名 DB *sql.DB //数据库连接池对象 MaxOpenConns int //用于设置最大打开的连接数,默认值为0表示不限制。 MaxIdleConns int //用于设置闲置的连接数。 } var GateWatMySql *mysql.Mysql // InitDatabases 初始化数据库 func InitDatabases() { initDbCtx := gctx.New() //初始化redis数据库 redisAddr := gcfg.Instance().MustGet(initDbCtx, "databases.redis", "session=127.0.0.1:6379,other=127.0.0.1:6379").String() redis.InitRedis(redisAddr) log.Printf("初始化redis完成 %s\n", redisAddr) //初始化mysql数据库 var mysqlConf Mysql err := gcfg.Instance().MustGet(initDbCtx, "databases.mysql").Scan(&mysqlConf) if err != nil { log.Printf("mysql配置异常 %v\n", err) log.Fatal(err) } GateWatMySql = &mysql.Mysql{ Address: mysqlConf.Address, UserName: mysqlConf.UserName, PassWord: mysqlConf.PassWord, DBName: mysqlConf.DBName, MaxOpenConns: mysqlConf.MaxOpenConns, MaxIdleConns: mysqlConf.MaxIdleConns, } GateWatMySql.Init() log.Printf("初始化Mysql完成 %+v\n", mysqlConf) }