db.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package db
  2. import (
  3. "database/sql"
  4. "github.com/gogf/gf/v2/util/gconv"
  5. "log"
  6. "app.yhyue.com/moapp/jybase/mysql"
  7. "github.com/gogf/gf/v2/os/gcfg"
  8. "github.com/gogf/gf/v2/os/gctx"
  9. )
  10. type Mysql struct {
  11. Address string //数据库地址:端口
  12. UserName string //用户名
  13. PassWord string //密码
  14. DBName string //数据库名
  15. DB *sql.DB //数据库连接池对象
  16. MaxOpenConns int //用于设置最大打开的连接数,默认值为0表示不限制。
  17. MaxIdleConns int //用于设置闲置的连接数。
  18. }
  19. var AddressMap map[string]interface{}
  20. var GateWatMySql *mysql.Mysql
  21. var Bjgjdsjjys map[string]interface{}
  22. // InitDatabases 初始化数据库
  23. func InitDatabases() {
  24. initDbCtx := gctx.New()
  25. // 初始化mysql数据库
  26. var mysqlConf Mysql
  27. err := gcfg.Instance().MustGet(initDbCtx, "databases.mysql").Scan(&mysqlConf)
  28. AddressMap = gconv.Map(gcfg.Instance().MustGet(initDbCtx, "addressMap", ""))
  29. if err != nil {
  30. log.Printf("mysql配置异常 %v\n", err)
  31. log.Fatal(err)
  32. }
  33. err = gcfg.Instance().MustGet(initDbCtx, "bjgjdsjjys").Scan(&Bjgjdsjjys)
  34. if err != nil {
  35. log.Printf("bjgjdsjjys配置异常 %v\n", err)
  36. log.Fatal(err)
  37. }
  38. GateWatMySql = &mysql.Mysql{
  39. Address: mysqlConf.Address,
  40. UserName: mysqlConf.UserName,
  41. PassWord: mysqlConf.PassWord,
  42. DBName: mysqlConf.DBName,
  43. MaxOpenConns: mysqlConf.MaxOpenConns,
  44. MaxIdleConns: mysqlConf.MaxIdleConns,
  45. }
  46. GateWatMySql.Init()
  47. log.Printf("初始化Mysql完成 %+v\n", mysqlConf)
  48. //初始化jymysql数据库
  49. }