package core import ( "context" "gorm.io/gorm" ) // BaseRepository 是一个泛型接口,定义了基本的增删改查操作 type BaseRepository[T any] interface { // Insert 插入一条记录 Insert(ctx context.Context, record *T) error // SelectById 根据id查询一条记录 SelectById(ctx context.Context, id int64) (*T, error) // List 查询所有记录 List(ctx context.Context) ([]*T, error) // Update 更新一条记录 Update(ctx context.Context, record *T) error // Delete 根据id删除一条记录 Delete(ctx context.Context, id int64) error } type BaseRepo[T any] struct { db *gorm.DB } func (repo *BaseRepo[T]) Insert(ctx context.Context, record *T) error { return repo.db.WithContext(ctx).Create(record).Error }