Files
36Wisdom/common/base_dao.go
T
2026-08-14 13:34:21 +08:00

33 lines
816 B
Go

package common
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// BaseDao 是所有 dao 的基类:单表操作统一入口,查询缓存由 dao 层按需配置。
type BaseDao struct {
Table string
}
func (d *BaseDao) Model() *gdb.Model { return g.DB().Model(d.Table) }
func (d *BaseDao) InsertAndReturnId(ctx context.Context, data g.Map) (int64, error) {
res, err := d.Model().Ctx(ctx).Data(data).Insert()
if err != nil {
return 0, err
}
return res.LastInsertId()
}
func (d *BaseDao) GetOneByPk(ctx context.Context, pk int64) (gdb.Record, error) {
return d.Model().Ctx(ctx).WherePri(pk).One()
}
func (d *BaseDao) UpdateByPk(ctx context.Context, pk int64, data g.Map) error {
_, err := d.Model().Ctx(ctx).WherePri(pk).Data(data).Update()
return err
}