database.go 750 B

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