package config import ( "database/sql" "git.jiaxianghudong.com/go/db" ) var ( MySQLMain *db.Database MySQLLog *db.Database MySQLExt *db.Database MySQLAgent *db.Database ) // InitMySQLMain 连接MYSQL main func InitMySQLMain(mysqlDirver string, maxOpen, maxIdle int) error { MySQLMain = &db.Database{} return initMySQL(MySQLMain, mysqlDirver, maxOpen, maxIdle) } // InitMySQLLog 连接MYSQL LOG func InitMySQLLog(mysqlDirver string, maxOpen, maxIdle int) error { MySQLLog = &db.Database{} return initMySQL(MySQLLog, mysqlDirver, maxOpen, maxIdle) } // InitMySQLExt 连接MYSQL Ext func InitMySQLExt(mysqlDirver string, maxOpen, maxIdle int) error { MySQLExt = &db.Database{} return initMySQL(MySQLExt, mysqlDirver, maxOpen, maxIdle) } func InitMySQLAgent(mysqlDirver string, maxOpen, maxIdle int) error { MySQLAgent = &db.Database{} return initMySQL(MySQLAgent, mysqlDirver, maxOpen, maxIdle) } // initMySQL mysql func initMySQL(mySQLDB *db.Database, mysqlDirver string, maxOpen, maxIdle int) error { var err error mySQLDB.DB, err = sql.Open("mysql", mysqlDirver) if err != nil { return err } if maxOpen > 0 { mySQLDB.DB.SetMaxIdleConns(maxIdle) mySQLDB.DB.SetConnMaxLifetime(-1) } if maxIdle > 0 { mySQLDB.DB.SetMaxOpenConns(maxOpen) } err = mySQLDB.DB.Ping() if err != nil { return err } return nil } // // GetMySQLMain 获取MYSQL DB操作实例 // func GetMySQLMain() *db.Database { // return MySQLMain // } // // GetMySQLLog 获取MYSQL DB操作实例 // func GetMySQLLog() *db.Database { // return MySQLLog // } // // GetMySQLExt 获取MYSQL DB操作实例 // func GetMySQLExt() *db.Database { // return MySQLExt // }