Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DependencyInjectionSet = wire.NewSet( wire.Bind(new(abstraction.UnitOfWork), new(UnitOfWork)), NewSQLUnitOfWork, )
DependencyInjectionSet provides the basic dependencies
var SingleDBDependencyInjectionSet = wire.NewSet( NewSingleDBResolver, NewSingleDBResolverBuilder, )
SingleDBDependencyInjectionSet provides the dependencies for a single DB scenario
Functions ¶
This section is empty.
Types ¶
type ContextExecutor ¶
type ContextExecutor interface { Executor ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row }
ContextExecutor can perform SQL queries with context
type DefaultDBResolverBuilder ¶
DefaultDBResolverBuilder describes an object responsible of setting the resolver configuration
func NewSingleDBResolverBuilder ¶
func NewSingleDBResolverBuilder() DefaultDBResolverBuilder
NewSingleDBResolverBuilder returns a new single database resolver builder
type Executor ¶
type Executor interface { Exec(query string, args ...interface{}) (sql.Result, error) Query(query string, args ...interface{}) (*sql.Rows, error) QueryRow(query string, args ...interface{}) *sql.Row }
Executor can perform SQL queries.
type Resolver ¶
Resolver describes an object responsible of deliver a database connection
func NewDirectDBResolver ¶ added in v0.5.1
NewDirectDBResolver returns a new database resolver
func NewSingleDBResolver ¶
func NewSingleDBResolver() Resolver
NewSingleDBResolver returns a new single database resolver
type UnitOfWork ¶
type UnitOfWork interface { abstraction.UnitOfWork GetExecutor() ContextExecutor }
UnitOfWork describes an SQL based unit of work
func NewSQLUnitOfWork ¶
func NewSQLUnitOfWork(resolver Resolver) UnitOfWork
NewSQLUnitOfWork creates a new Unit of work