database.go 756 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package common
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql"
  5. "github.com/jmoiron/sqlx"
  6. "github.com/spf13/viper"
  7. )
  8. var DB *sqlx.DB
  9. func initMySQL() {
  10. host := viper.GetString("mysql.host")
  11. port := viper.GetString("mysql.port")
  12. database := viper.GetString("mysql.database")
  13. username := viper.GetString("mysql.username")
  14. password := viper.GetString("mysql.password")
  15. charset := viper.GetString("mysql.charset")
  16. dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true",
  17. username,
  18. password,
  19. host,
  20. port,
  21. database,
  22. charset)
  23. fmt.Println(dsn)
  24. db, err := sqlx.Open("mysql", dsn)
  25. if err != nil {
  26. fmt.Printf("err:%#v", err)
  27. return
  28. }
  29. db.SetMaxOpenConns(20)
  30. db.SetMaxIdleConns(20)
  31. DB = db
  32. }
  33. //func initRedis() {
  34. //
  35. //}