light-core/pkg/mySql/Facade.go
2024-12-18 03:08:49 +08:00

33 lines
651 B
Go

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())
}