mirror of
https://github.com/astaxie/beego.git
synced 2025-07-11 17:01:01 +00:00
init orm project, beta, unstable
This commit is contained in:
97
orm/types.go
Normal file
97
orm/types.go
Normal file
@ -0,0 +1,97 @@
|
||||
package orm
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
type Fielder interface {
|
||||
String() string
|
||||
FieldType() int
|
||||
SetRaw(interface{}) error
|
||||
RawValue() interface{}
|
||||
}
|
||||
|
||||
type Modeler interface {
|
||||
Init(Modeler) Modeler
|
||||
IsInited() bool
|
||||
Clean() FieldErrors
|
||||
CleanFields(string) FieldErrors
|
||||
GetTableName() string
|
||||
}
|
||||
|
||||
type Ormer interface {
|
||||
Object(Modeler) ObjectSeter
|
||||
QueryTable(interface{}) QuerySeter
|
||||
Using(string) error
|
||||
Begin() error
|
||||
Commit() error
|
||||
Rollback() error
|
||||
Raw(string, ...interface{}) RawSeter
|
||||
}
|
||||
|
||||
type ObjectSeter interface {
|
||||
Insert() (int64, error)
|
||||
Update() (int64, error)
|
||||
Delete() (int64, error)
|
||||
}
|
||||
|
||||
type Inserter interface {
|
||||
Insert(Modeler) (int64, error)
|
||||
Close() error
|
||||
}
|
||||
|
||||
type QuerySeter interface {
|
||||
Filter(string, ...interface{}) QuerySeter
|
||||
Exclude(string, ...interface{}) QuerySeter
|
||||
Limit(int, ...int64) QuerySeter
|
||||
Offset(int64) QuerySeter
|
||||
OrderBy(...string) QuerySeter
|
||||
RelatedSel(...interface{}) QuerySeter
|
||||
Clone() QuerySeter
|
||||
SetCond(*Condition) error
|
||||
Count() (int64, error)
|
||||
Update(Params) (int64, error)
|
||||
Delete() (int64, error)
|
||||
PrepareInsert() (Inserter, error)
|
||||
|
||||
All(interface{}) (int64, error)
|
||||
One(Modeler) error
|
||||
Values(*[]Params, ...string) (int64, error)
|
||||
ValuesList(*[]ParamsList, ...string) (int64, error)
|
||||
ValuesFlat(*ParamsList, string) (int64, error)
|
||||
}
|
||||
|
||||
type RawPreparer interface {
|
||||
Close() error
|
||||
}
|
||||
|
||||
type RawSeter interface {
|
||||
Exec() (int64, error)
|
||||
Mapper(...interface{}) (int64, error)
|
||||
Values(*[]Params) (int64, error)
|
||||
ValuesList(*[]ParamsList) (int64, error)
|
||||
ValuesFlat(*ParamsList) (int64, error)
|
||||
Prepare() (RawPreparer, error)
|
||||
}
|
||||
|
||||
type dbQuerier interface {
|
||||
Prepare(query string) (*sql.Stmt, error)
|
||||
Exec(query string, args ...interface{}) (sql.Result, error)
|
||||
Query(query string, args ...interface{}) (*sql.Rows, error)
|
||||
QueryRow(query string, args ...interface{}) *sql.Row
|
||||
}
|
||||
|
||||
type dbBaser interface {
|
||||
Insert(dbQuerier, *modelInfo, reflect.Value) (int64, error)
|
||||
InsertStmt(*sql.Stmt, *modelInfo, reflect.Value) (int64, error)
|
||||
Update(dbQuerier, *modelInfo, reflect.Value) (int64, error)
|
||||
Delete(dbQuerier, *modelInfo, reflect.Value) (int64, error)
|
||||
ReadBatch(dbQuerier, *querySet, *modelInfo, *Condition, interface{}) (int64, error)
|
||||
UpdateBatch(dbQuerier, *querySet, *modelInfo, *Condition, Params) (int64, error)
|
||||
DeleteBatch(dbQuerier, *querySet, *modelInfo, *Condition) (int64, error)
|
||||
Count(dbQuerier, *querySet, *modelInfo, *Condition) (int64, error)
|
||||
GetOperatorSql(*modelInfo, string, []interface{}) (string, []interface{})
|
||||
PrepareInsert(dbQuerier, *modelInfo) (*sql.Stmt, error)
|
||||
ReadValues(dbQuerier, *querySet, *modelInfo, *Condition, []string, interface{}) (int64, error)
|
||||
}
|
Reference in New Issue
Block a user