Documentation ¶
Index ¶
- Constants
- Variables
- func BaseGroup[T dependency.IEntity](f func(v ...*T) (int64, error), opt *dependency.BaseOption, p ...*T) (int64, error)
- func CoreFrmCtx(ctx context.Context, id string) *gorm.DB
- func GetDbTX(id string) contextex.ContextKey
- func GetTransactionDb(id string) *gorm.DB
- func Log(ctx context.Context, lvl iLog.Level, msg string)
- func NewContext(ctx context.Context, id string, newdb *gorm.DB) context.Context
- func NewLogger() logger.Interface
- func NewMySqlClient(dsn string, log logger.Interface) (*gorm.DB, error)
- func NewUnitOfWork(id string) dependency.IUnitOfWork
- func Option2Page(db *gorm.DB, opt *dependency.BaseOption) *gorm.DB
- func ReadOnly(ctx context.Context, id string) *gorm.DB
- func SetDisableQueryFields()
- func SyncDbStruct(dbShardingKeys [][]any, pos ...dependency.IPo) error
- func WithContext(ctx context.Context, id string) *gorm.DB
- type BaseRepository
- func (r *BaseRepository[T]) BaseCount(ctx context.Context, opts ...dependency.BaseOptionFunc) (int64, error)
- func (r *BaseRepository[T]) BaseCreate(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)
- func (r *BaseRepository[T]) BaseDelete(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)
- func (r *BaseRepository[T]) BaseGet(ctx context.Context, opts ...dependency.BaseOptionFunc) (*T, error)
- func (r *BaseRepository[T]) BaseQuery(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, error)
- func (r *BaseRepository[T]) BaseQueryWithCount(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, int64, error)
- func (r *BaseRepository[T]) BaseSave(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)
- func (r *BaseRepository[T]) BaseUpdate(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)
- func (r *BaseRepository[T]) BuildConds(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB
- func (r *BaseRepository[T]) BuildFrmOption(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB
- func (r *BaseRepository[T]) BuildFrmOptions(ctx context.Context, t *T, opts ...dependency.BaseOptionFunc) *gorm.DB
- type GormLogger
- func (l *GormLogger) Error(ctx context.Context, msg string, args ...interface{})
- func (l *GormLogger) Info(ctx context.Context, msg string, args ...interface{})
- func (l *GormLogger) LogMode(level logger.LogLevel) logger.Interface
- func (l *GormLogger) Trace(ctx context.Context, begin time.Time, ...)
- func (l *GormLogger) Warn(ctx context.Context, msg string, args ...interface{})
- type GormTransactionImpl
- type TaskQueueRepository
- func (r TaskQueueRepository[T]) CountByCreator(ctx context.Context, createBy, status int64) (int64, error)
- func (r TaskQueueRepository[T]) FindLockeds(ctx context.Context, locker string) ([]T, error)
- func (r TaskQueueRepository[T]) ReportExecResult(ctx context.Context, id int64, locker string, execResult string, execErr error) (int64, error)
- func (r TaskQueueRepository[T]) WaitExecWithLock(ctx context.Context, t T, batch int) (string, int64, error)
Constants ¶
View Source
const (
SqlLogFormat = "elapsed:%dms,affect:%d,err:%s,sql:%s"
)
Variables ¶
View Source
var MySqlComponent = embedded.NewComponent[*gorm.DB]()
Functions ¶
func BaseGroup ¶
func BaseGroup[T dependency.IEntity](f func(v ...*T) (int64, error), opt *dependency.BaseOption, p ...*T) (int64, error)
BaseGroup
func GetDbTX ¶
func GetDbTX(id string) contextex.ContextKey
func GetTransactionDb ¶
func NewMySqlClient ¶
reference docs: https://github.com/go-sql-driver/mysql#dsn-data-source-name dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local&timeout=1m" NewMySqlClient new a mysql client by dsn with logger
func NewUnitOfWork ¶
func NewUnitOfWork(id string) dependency.IUnitOfWork
func Option2Page ¶ added in v0.0.7
func Option2Page(db *gorm.DB, opt *dependency.BaseOption) *gorm.DB
Option2Page
func SetDisableQueryFields ¶
func SetDisableQueryFields()
func SyncDbStruct ¶ added in v0.0.11
func SyncDbStruct(dbShardingKeys [][]any, pos ...dependency.IPo) error
SyncDbStruct
Types ¶
type BaseRepository ¶
type BaseRepository[T dependency.IEntity] struct{} // base repository
func (*BaseRepository[T]) BaseCount ¶
func (r *BaseRepository[T]) BaseCount(ctx context.Context, opts ...dependency.BaseOptionFunc) (int64, error)
BaseCount
func (*BaseRepository[T]) BaseCreate ¶
func (r *BaseRepository[T]) BaseCreate(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)
BaseCreate
func (*BaseRepository[T]) BaseDelete ¶
func (r *BaseRepository[T]) BaseDelete(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)
BaseDelete
func (*BaseRepository[T]) BaseGet ¶
func (r *BaseRepository[T]) BaseGet(ctx context.Context, opts ...dependency.BaseOptionFunc) (*T, error)
BaseGet
func (*BaseRepository[T]) BaseQuery ¶
func (r *BaseRepository[T]) BaseQuery(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, error)
BaseQuery
func (*BaseRepository[T]) BaseQueryWithCount ¶ added in v0.1.0
func (r *BaseRepository[T]) BaseQueryWithCount(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, int64, error)
BaseQueryWithCount
func (*BaseRepository[T]) BaseSave ¶
func (r *BaseRepository[T]) BaseSave(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)
BaseSave
func (*BaseRepository[T]) BaseUpdate ¶
func (r *BaseRepository[T]) BaseUpdate(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)
BaseUpdate
func (*BaseRepository[T]) BuildConds ¶
func (r *BaseRepository[T]) BuildConds(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB
BuildConds
func (*BaseRepository[T]) BuildFrmOption ¶
func (r *BaseRepository[T]) BuildFrmOption(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB
BuildFrmOption
func (*BaseRepository[T]) BuildFrmOptions ¶ added in v0.0.7
func (r *BaseRepository[T]) BuildFrmOptions(ctx context.Context, t *T, opts ...dependency.BaseOptionFunc) *gorm.DB
BuildFrmOptions
type GormLogger ¶
type GormLogger struct { LogLevel logger.LogLevel IgnoreRecordNotFoundError bool SlowThreshold time.Duration // contains filtered or unexported fields }
func (*GormLogger) Error ¶
func (l *GormLogger) Error(ctx context.Context, msg string, args ...interface{})
func (*GormLogger) Info ¶
func (l *GormLogger) Info(ctx context.Context, msg string, args ...interface{})
type GormTransactionImpl ¶
type GormTransactionImpl struct {
// contains filtered or unexported fields
}
func (*GormTransactionImpl) Execute ¶
func (t *GormTransactionImpl) Execute(ctx context.Context, fs ...dependency.DbAction) (e error)
Execute An execution function is passed in, and transactions are executed within the function.
type TaskQueueRepository ¶ added in v0.2.3
type TaskQueueRepository[T dependency.ITask] struct { BaseRepository[T] }
func (TaskQueueRepository[T]) CountByCreator ¶ added in v0.2.3
func (r TaskQueueRepository[T]) CountByCreator(ctx context.Context, createBy, status int64) (int64, error)
CountByCreator 请求者当前执行数量
func (TaskQueueRepository[T]) FindLockeds ¶ added in v0.2.3
func (r TaskQueueRepository[T]) FindLockeds(ctx context.Context, locker string) ([]T, error)
FindLockeds 找到被锁定的记录
func (TaskQueueRepository[T]) ReportExecResult ¶ added in v0.2.3
func (r TaskQueueRepository[T]) ReportExecResult(ctx context.Context, id int64, locker string, execResult string, execErr error) (int64, error)
ReportExecResult 汇报执行结果
func (TaskQueueRepository[T]) WaitExecWithLock ¶ added in v0.2.3
func (r TaskQueueRepository[T]) WaitExecWithLock(ctx context.Context, t T, batch int) (string, int64, error)
WaitExecWithLock 需要锁定的记录
Click to show internal directories.
Click to hide internal directories.