mysqldb.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package db
  2. import (
  3. "fmt"
  4. "mtp2_if/config"
  5. "mtp2_if/logger"
  6. "github.com/xormplus/core"
  7. "github.com/xormplus/xorm"
  8. "github.com/xormplus/xorm/log"
  9. )
  10. // MySQLEngine MySQL Engine
  11. var MySQLEngine *xorm.Engine
  12. // InitMySQLDbEngine 创建数据库驱动
  13. func InitMySQLDbEngine() error {
  14. host := config.SerCfg.GetMySQLHost()
  15. port := config.SerCfg.GetMySQLPort()
  16. dbname := config.SerCfg.GetMySQLDBName()
  17. username := config.SerCfg.GetMySQLUsername()
  18. password := config.SerCfg.GetMySQLPassword()
  19. dataSourceName := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8", username, password, host, port, dbname)
  20. var err error
  21. MySQLEngine, err = xorm.NewEngine("mysql", dataSourceName)
  22. if err != nil {
  23. fmt.Println("create mysql engine failed:", err)
  24. return err
  25. }
  26. // 将SQL写到日志文件
  27. logger := log.NewSimpleLogger(logger.GetLogWriter())
  28. Engine.SetLogger(logger)
  29. // 将SQL打印到Console
  30. Engine.ShowSQL(true)
  31. Engine.SetTableMapper(core.SameMapper{})
  32. return nil
  33. }
  34. // GetMySQLEngine GetMySQLEngine
  35. func GetMySQLEngine() *xorm.Engine {
  36. return MySQLEngine
  37. }
  38. // CloseMySQL CloseMySQL
  39. func CloseMySQL() {
  40. MySQLEngine.Close()
  41. }