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.