db.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package config
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "gopkg.in/yaml.v3"
  6. "io/ioutil"
  7. "log"
  8. )
  9. var SysConfig Config
  10. var Db *sql.DB
  11. //var mysqlDB *mysql.Mysql
  12. type Config struct {
  13. Port string `yaml:"port"`
  14. Database DatabaseConfig `yaml:"database"`
  15. }
  16. type DatabaseConfig struct {
  17. Host string `yaml:"host"`
  18. Port int `yaml:"port"`
  19. User string `yaml:"user"`
  20. Password string `yaml:"password"`
  21. DBName string `yaml:"dbname"`
  22. }
  23. func LoadConfig() {
  24. data, err := ioutil.ReadFile("./config.yaml")
  25. if err != nil {
  26. log.Println("read config err:", err)
  27. }
  28. //config := &Config{}
  29. err = yaml.Unmarshal(data, &SysConfig)
  30. if err != nil {
  31. log.Println("read config err:", err)
  32. }
  33. }
  34. // 初始化连接 MySQL 数据库并创建绑定表(如果不存在)
  35. func InitDB() {
  36. dbCon := fmt.Sprintf("%s:%s@tcp(%s)/jy_resume?charset=utf8&parseTime=True&loc=Local", SysConfig.Database.User, SysConfig.Database.Password, SysConfig.Database.Host)
  37. var err error
  38. Db, err = sql.Open("mysql", dbCon)
  39. if err != nil {
  40. log.Fatal("数据库连接错误:", err)
  41. }
  42. // 测试数据库连接
  43. if err = Db.Ping(); err != nil {
  44. log.Fatal("数据库 ping 错误:", err)
  45. }
  46. //defer Db.Close()
  47. /*mysqlDB = &mysql.Mysql{
  48. Address: SysConfig.Database.Host,
  49. UserName: SysConfig.Database.User,
  50. PassWord: SysConfig.Database.Password,
  51. DBName: SysConfig.Database.DBName,
  52. MaxOpenConns: 5,
  53. MaxIdleConns: 5,
  54. }
  55. mysqlDB.Init()*/
  56. }