| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package db
- import (
- "fmt"
- "mtp2_if/config"
- "mtp2_if/logger"
- "github.com/xormplus/core"
- "github.com/xormplus/xorm"
- "github.com/xormplus/xorm/log"
- )
- // MySQLEngine MySQL Engine
- var MySQLEngine *xorm.Engine
- // InitMySQLDbEngine 创建数据库驱动
- func InitMySQLDbEngine() error {
- host := config.SerCfg.GetMySQLHost()
- port := config.SerCfg.GetMySQLPort()
- dbname := config.SerCfg.GetMySQLDBName()
- username := config.SerCfg.GetMySQLUsername()
- password := config.SerCfg.GetMySQLPassword()
- dataSourceName := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8", username, password, host, port, dbname)
- var err error
- MySQLEngine, err = xorm.NewEngine("mysql", dataSourceName)
- if err != nil {
- fmt.Println("create mysql engine failed:", err)
- return err
- }
- Engine.SetMaxIdleConns(10)
- Engine.SetMaxOpenConns(100)
- if config.SerCfg.GetDebugMode() {
- // 将SQL写到日志文件
- logger := log.NewSimpleLogger(logger.GetLogWriter())
- MySQLEngine.SetLogger(logger)
- // 将SQL打印到Console
- MySQLEngine.ShowSQL(true)
- MySQLEngine.SetTableMapper(core.SameMapper{})
- } else {
- MySQLEngine.ShowSQL(false)
- }
- return nil
- }
- // GetMySQLEngine GetMySQLEngine
- func GetMySQLEngine() *xorm.Engine {
- return MySQLEngine
- }
- // CloseMySQL CloseMySQL
- func CloseMySQL() {
- MySQLEngine.Close()
- }
|