mysql.go 548 B

123456789101112131415161718192021222324252627
  1. package database
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "git.wanbits.cc/sin/flytalk/config"
  6. _ "github.com/go-sql-driver/mysql"
  7. )
  8. type Mysql struct {
  9. SqlDB *sql.DB
  10. Dsn string
  11. }
  12. func NewMysql() *Mysql {
  13. mysql := config.CreateMysql(config.MysqlConf)
  14. dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local", mysql.Username, mysql.Password, mysql.Server, mysql.Port, mysql.Db)
  15. return &Mysql{
  16. Dsn: dsn,
  17. }
  18. }
  19. func (db *Mysql) Ping() error {
  20. sqlDb, _ := sql.Open("mysql", db.Dsn)
  21. db.SqlDB = sqlDb
  22. return db.SqlDB.Ping()
  23. }