Documentation
¶
Index ¶
- Constants
- type Clause
- func From(table interface{}) Clause
- func Groupby(expr string) Clause
- func Having(clause string, params ...interface{}) Clause
- func Join(clause string, params ...interface{}) Clause
- func Limit(limit int) Clause
- func Offset(offset int) Clause
- func Orderby(expr string) Clause
- func Select(fields string) Clause
- func Where(clause string, params ...interface{}) Clause
- type Dal
- type DalClause
Constants ¶
View Source
const FromClause string = "From"
View Source
const GroupbyClause string = "GroupBy"
View Source
const HavingClause string = "Having"
View Source
const JoinClause string = "Join"
View Source
const LimitClause string = "Limit"
View Source
const OffsetClause string = "Offset"
View Source
const OrderbyClause string = "OrderBy"
View Source
const SelectClause string = "Select"
View Source
const WhereClause string = "Where"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Clause ¶
type Clause struct {
Type string
Data interface{}
}
type Dal ¶
type Dal interface {
// Raw executes raw sql query with sql.Rows and error return
Raw(query string, params ...interface{}) (*sql.Rows, error)
// Exec executes raw sql query
Exec(query string, params ...interface{}) error
// CreateTable creates a table with gorm definition from `entity`R
AutoMigrate(entity interface{}, clauses ...Clause) error
// Cursor returns a database cursor, cursor is especially useful when handling big amount of rows of data
Cursor(clauses ...Clause) (*sql.Rows, error)
// Fetch loads row data from `cursor` into `dst`
Fetch(cursor *sql.Rows, dst interface{}) error
// All loads matched rows from database to `dst`, USE IT WITH COUTIOUS!!
All(dst interface{}, clauses ...Clause) error
// First loads first matched row from database to `dst`, error will be returned if no records were found
First(dst interface{}, clauses ...Clause) error
// All loads matched rows from database to `dst`, USE IT WITH COUTIOUS!!
Count(clauses ...Clause) (int64, error)
// Pluck used to query single column
Pluck(column string, dest interface{}, clauses ...Clause) error
// Create insert record to database
Create(entity interface{}, clauses ...Clause) error
// Update updates record
Update(entity interface{}, clauses ...Clause) error
// CreateOrUpdate tries to create the record, or fallback to update all if failed
CreateOrUpdate(entity interface{}, clauses ...Clause) error
// CreateIfNotExist tries to create the record if not exist
CreateIfNotExist(entity interface{}, clauses ...Clause) error
// Delete records from database
Delete(entity interface{}, clauses ...Clause) error
}
Dal aims to facilitate an isolation of Database Access Layer by defining a set of operations should a Database Access Layer provide This is inroduced by the fact that mocking *gorm.DB is hard, and `gomonkey` is not working on macOS
Click to show internal directories.
Click to hide internal directories.