Documentation
¶
Index ¶
- Variables
- type Config
- type DAO
- type Database
- type DatabaseImpl
- func (c *DatabaseImpl) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error)
- func (c *DatabaseImpl) QueryContext(ctx context.Context, query string, args ...interface{}) (Rows, error)
- func (c *DatabaseImpl) QueryRowContext(ctx context.Context, query string, args ...interface{}) Row
- type Person
- type Result
- type ResultImpl
- type Row
- type RowImpl
- type Rows
- type RowsImpl
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotFound is returned when the no records where matched by the query ErrNotFound = errors.New("not found") )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config interface {
// DataDSN returns the data source name
DataDSN() string
}
Config is the configuration for the data package
type DAO ¶
type DAO struct {
// contains filtered or unexported fields
}
DAO is a data access object that provides an abstraction over our database interactions.
func NewDAO ¶
NewDAO will initialize the database connection pool (if not already done) and return a data access object which can be used to interact with the database
func (*DAO) Load ¶
Load will attempt to load and return a person. It will return ErrNotFound when the requested person does not exist. Any other errors returned are caused by the underlying database or our connection to it.
type DatabaseImpl ¶
type DatabaseImpl struct {
// contains filtered or unexported fields
}
func (*DatabaseImpl) ExecContext ¶
func (*DatabaseImpl) QueryContext ¶
func (*DatabaseImpl) QueryRowContext ¶
func (c *DatabaseImpl) QueryRowContext(ctx context.Context, query string, args ...interface{}) Row
type Person ¶
type Person struct {
// ID is the unique ID for this person
ID int
// FullName is the name of this person
FullName string
// Phone is the phone for this person
Phone string
// Currency is the currency this person has paid in
Currency string
// Price is the amount (in the above currency) paid by this person
Price float64
}
Person is the data transfer object (DTO) for this package
type ResultImpl ¶
type ResultImpl struct {
// contains filtered or unexported fields
}
func (*ResultImpl) LastInsertId ¶
func (r *ResultImpl) LastInsertId() (int64, error)
func (*ResultImpl) RowsAffected ¶
func (r *ResultImpl) RowsAffected() (int64, error)
Click to show internal directories.
Click to hide internal directories.