dao.go 798 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package search
  2. import (
  3. "context"
  4. "go-common/app/admin/main/feed/conf"
  5. "go-common/library/cache/memcache"
  6. "go-common/library/database/orm"
  7. "github.com/jinzhu/gorm"
  8. )
  9. // Dao struct user of color egg Dao.
  10. type Dao struct {
  11. // db
  12. DB *gorm.DB
  13. MC *memcache.Pool
  14. }
  15. // New create a instance of color egg Dao and return.
  16. func New(c *conf.Config) (d *Dao) {
  17. d = &Dao{
  18. // db
  19. DB: orm.NewMySQL(c.ORMResource),
  20. MC: memcache.NewPool(c.Memcache.Config),
  21. }
  22. d.initORM()
  23. return
  24. }
  25. func (d *Dao) initORM() {
  26. d.DB.LogMode(true)
  27. }
  28. // Ping check connection of db , mc.
  29. func (d *Dao) Ping(c context.Context) (err error) {
  30. if d.DB != nil {
  31. err = d.DB.DB().PingContext(c)
  32. return
  33. }
  34. return
  35. }
  36. // Close close connection of db , mc.
  37. func (d *Dao) Close() {
  38. if d.DB != nil {
  39. d.DB.Close()
  40. }
  41. }