package mySql import "gorm.io/gorm" type Facade struct { tableName string dbFunc func() *gorm.DB } func NewFacade(tableName string, dbFunc func() *gorm.DB) *Facade { return &Facade{tableName: tableName, dbFunc: dbFunc} } func (t *Facade) NewQuery() *Query { return NewQuery(t.tableName, t.dbFunc()) } func (t *Facade) NewUpdate() *Update { return NewUpdate(t.tableName, t.dbFunc()) } func (t *Facade) NewInsert() *Insert { return NewInsert(t.tableName, t.dbFunc()) } func (t *Facade) NewDelete() *Delete { return NewDelete(t.tableName, t.dbFunc()) } func (t *Facade) Create(val interface{}) error { return Create(val, t.dbFunc()) }