db.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package public
  2. import (
  3. "log"
  4. util "app.yhyue.com/moapp/jybase/common"
  5. . "app.yhyue.com/moapp/jybase/mongodb"
  6. "app.yhyue.com/moapp/jybase/mysql"
  7. )
  8. var (
  9. DbConf *dbConf
  10. Mysql_Main *mysql.Mysql
  11. Mysql_From_Jianyu *mysql.Mysql
  12. Mysql_From_Jypoints *mysql.Mysql
  13. Mysql_From_Jyactivities *mysql.Mysql
  14. Mgo MongodbSim
  15. )
  16. type dbConf struct {
  17. Mongodb struct {
  18. Main *mgoConf
  19. }
  20. Mysql struct {
  21. Main *mysqlConf
  22. From_jianyu *mysqlConf
  23. From_jyactivities *mysqlConf
  24. From_jypoints *mysqlConf
  25. }
  26. }
  27. type mgoConf struct {
  28. Address string
  29. Size int
  30. DbName string
  31. ReplSet string
  32. UserName string
  33. Password string
  34. }
  35. type mysqlConf struct {
  36. DbName string
  37. Address string
  38. UserName string
  39. PassWord string
  40. MaxOpenConns int
  41. MaxIdleConns int
  42. }
  43. func init() {
  44. util.ReadConfig("./db.json", &DbConf)
  45. if DbConf != nil {
  46. if DbConf.Mongodb.Main != nil {
  47. log.Println("初始化 mongodb main")
  48. Mgo = MongodbSim{
  49. MongodbAddr: DbConf.Mongodb.Main.Address,
  50. Size: DbConf.Mongodb.Main.Size,
  51. DbName: DbConf.Mongodb.Main.DbName,
  52. ReplSet: DbConf.Mongodb.Main.ReplSet,
  53. }
  54. Mgo.InitPool()
  55. }
  56. if DbConf.Mysql.Main != nil {
  57. log.Println("初始化 mysql main")
  58. Mysql_Main = &mysql.Mysql{
  59. Address: DbConf.Mysql.Main.Address,
  60. UserName: DbConf.Mysql.Main.UserName,
  61. PassWord: DbConf.Mysql.Main.PassWord,
  62. DBName: DbConf.Mysql.Main.DbName,
  63. MaxOpenConns: DbConf.Mysql.Main.MaxOpenConns,
  64. MaxIdleConns: DbConf.Mysql.Main.MaxIdleConns,
  65. }
  66. Mysql_Main.Init()
  67. }
  68. if DbConf.Mysql.From_jianyu != nil {
  69. log.Println("初始化 mysql from jianyu")
  70. Mysql_From_Jianyu = &mysql.Mysql{
  71. Address: DbConf.Mysql.From_jianyu.Address,
  72. UserName: DbConf.Mysql.From_jianyu.UserName,
  73. PassWord: DbConf.Mysql.From_jianyu.PassWord,
  74. DBName: DbConf.Mysql.From_jianyu.DbName,
  75. MaxOpenConns: DbConf.Mysql.From_jianyu.MaxOpenConns,
  76. MaxIdleConns: DbConf.Mysql.From_jianyu.MaxIdleConns,
  77. }
  78. Mysql_From_Jianyu.Init()
  79. }
  80. if DbConf.Mysql.From_jyactivities != nil {
  81. log.Println("初始化 mysql from jyactivities")
  82. Mysql_From_Jyactivities = &mysql.Mysql{
  83. Address: DbConf.Mysql.From_jyactivities.Address,
  84. UserName: DbConf.Mysql.From_jyactivities.UserName,
  85. PassWord: DbConf.Mysql.From_jyactivities.PassWord,
  86. DBName: DbConf.Mysql.From_jyactivities.DbName,
  87. MaxOpenConns: DbConf.Mysql.From_jyactivities.MaxOpenConns,
  88. MaxIdleConns: DbConf.Mysql.From_jyactivities.MaxIdleConns,
  89. }
  90. Mysql_From_Jyactivities.Init()
  91. }
  92. if DbConf.Mysql.From_jypoints != nil {
  93. log.Println("初始化 mysql from jypoints")
  94. Mysql_From_Jypoints = &mysql.Mysql{
  95. Address: DbConf.Mysql.From_jypoints.Address,
  96. UserName: DbConf.Mysql.From_jypoints.UserName,
  97. PassWord: DbConf.Mysql.From_jypoints.PassWord,
  98. DBName: DbConf.Mysql.From_jypoints.DbName,
  99. MaxOpenConns: DbConf.Mysql.From_jypoints.MaxOpenConns,
  100. MaxIdleConns: DbConf.Mysql.From_jypoints.MaxIdleConns,
  101. }
  102. Mysql_From_Jypoints.Init()
  103. }
  104. }
  105. }