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.