Documentation ¶
Index ¶
- Constants
- Variables
- func JSONString(v interface{}, IndentJSON bool) (string, error)
- type AfterDeleteProcessor
- type AfterInsertProcessor
- type AfterSetProcessor
- type AfterUpdateProcessor
- type BeforeDeleteProcessor
- type BeforeInsertProcessor
- type BeforeSetProcessor
- type BeforeUpdateProcessor
- type Cell
- type DiscardLogger
- func (DiscardLogger) Debug(v ...interface{})
- func (DiscardLogger) Debugf(format string, v ...interface{})
- func (DiscardLogger) Error(v ...interface{})
- func (DiscardLogger) Errorf(format string, v ...interface{})
- func (DiscardLogger) Info(v ...interface{})
- func (DiscardLogger) Infof(format string, v ...interface{})
- func (DiscardLogger) IsShowSQL() bool
- func (DiscardLogger) Level() core.LogLevel
- func (DiscardLogger) SetLevel(l core.LogLevel)
- func (DiscardLogger) ShowSQL(show ...bool)
- func (DiscardLogger) Warn(v ...interface{})
- func (DiscardLogger) Warnf(format string, v ...interface{})
- type Engine
- func NewDB(driverName string, dataSourceName string) (*Engine, error)
- func NewEngine(driverName string, dataSourceName string) (*Engine, error)
- func NewMSSQL(driverName string, dataSourceName string) (*Engine, error)
- func NewMySQL(driverName string, dataSourceName string) (*Engine, error)
- func NewOracle(driverName string, dataSourceName string) (*Engine, error)
- func NewPostgreSQL(dataSourceName string) (*Engine, error)
- func NewSqlite3(dataSourceName string) (*Engine, error)
- func (engine *Engine) AddSql(key string, sql string)
- func (engine *Engine) AddSqlTemplate(key string, sqlTemplateStr string) error
- func (engine *Engine) After(closures func(interface{})) *Session
- func (engine *Engine) Alias(alias string) *Session
- func (engine *Engine) AllCols() *Session
- func (engine *Engine) Asc(colNames ...string) *Session
- func (engine *Engine) AutoIncrStr() string
- func (engine *Engine) Before(closures func(interface{})) *Session
- func (engine *Engine) Cascade(trueOrFalse ...bool) *Session
- func (engine *Engine) Charset(charset string) *Session
- func (engine *Engine) ClearCache(beans ...interface{}) error
- func (engine *Engine) ClearCacheBean(bean interface{}, id string) error
- func (engine *Engine) Clone() (*Engine, error)
- func (engine *Engine) Close() error
- func (engine *Engine) Cols(columns ...string) *Session
- func (engine *Engine) Count(bean interface{}) (int64, error)
- func (engine *Engine) CreateIndexes(bean interface{}) error
- func (engine *Engine) CreateTables(beans ...interface{}) error
- func (engine *Engine) CreateUniques(bean interface{}) error
- func (engine *Engine) DB() *core.DB
- func (engine *Engine) DBMetas() ([]*core.Table, error)
- func (engine *Engine) DataSourceName() string
- func (engine *Engine) Decr(column string, arg ...interface{}) *Session
- func (engine *Engine) Delete(bean interface{}) (int64, error)
- func (engine *Engine) Desc(colNames ...string) *Session
- func (engine *Engine) Dialect() core.Dialect
- func (engine *Engine) Distinct(columns ...string) *Session
- func (engine *Engine) DriverName() string
- func (engine *Engine) DropTables(beans ...interface{}) error
- func (engine *Engine) DumpAll(w io.Writer) error
- func (engine *Engine) DumpAllToFile(fp string) error
- func (engine *Engine) DumpTables(tables []*core.Table, w io.Writer, tp ...core.DbType) error
- func (engine *Engine) DumpTablesToFile(tables []*core.Table, fp string, tp ...core.DbType) error
- func (engine *Engine) Exec(sql string, args ...interface{}) (sql.Result, error)
- func (engine *Engine) Find(beans interface{}, condiBeans ...interface{}) error
- func (engine *Engine) FormatTime(sqlTypeName string, t time.Time) (v interface{})
- func (engine *Engine) Get(bean interface{}) (bool, error)
- func (engine *Engine) GetFirst(bean interface{}) ResultBean
- func (engine *Engine) GobRegister(v interface{}) *Engine
- func (engine *Engine) GroupBy(keys string) *Session
- func (engine *Engine) Having(conditions string) *Session
- func (engine *Engine) Id(id interface{}) *Session
- func (engine *Engine) IdOf(bean interface{}) core.PK
- func (engine *Engine) IdOfV(rv reflect.Value) core.PK
- func (engine *Engine) Import(r io.Reader) ([]sql.Result, error)
- func (engine *Engine) ImportFile(ddlPath string) ([]sql.Result, error)
- func (engine *Engine) In(column string, args ...interface{}) *Session
- func (engine *Engine) Incr(column string, arg ...interface{}) *Session
- func (engine *Engine) InitSqlMap(options ...SqlMapOptions) error
- func (engine *Engine) InitSqlTemplate(options ...SqlTemplateOptions) error
- func (engine *Engine) Insert(beans ...interface{}) (int64, error)
- func (engine *Engine) InsertOne(bean interface{}) (int64, error)
- func (engine *Engine) IsTableEmpty(bean interface{}) (bool, error)
- func (engine *Engine) IsTableExist(beanOrTableName interface{}) (bool, error)
- func (engine *Engine) Iterate(bean interface{}, fun IterFunc) error
- func (engine *Engine) Join(join_operator string, tablename interface{}, condition string, ...) *Session
- func (engine *Engine) Limit(limit int, start ...int) *Session
- func (engine *Engine) LoadSqlMap(filepath string) error
- func (engine *Engine) LoadSqlTemplate(filepath string) error
- func (engine *Engine) Logger() core.ILogger
- func (engine *Engine) MapCacher(bean interface{}, cacher core.Cacher)
- func (engine *Engine) MustCols(columns ...string) *Session
- func (engine *Engine) NewDB() (*core.DB, error)
- func (engine *Engine) NewSession() *Session
- func (engine *Engine) NoAutoCondition(no ...bool) *Session
- func (engine *Engine) NoAutoTime() *Session
- func (engine *Engine) NoCache() *Session
- func (engine *Engine) NoCascade() *Session
- func (engine *Engine) NowTime(sqlTypeName string) interface{}
- func (engine *Engine) NowTime2(sqlTypeName string) (interface{}, time.Time)
- func (engine *Engine) Nullable(columns ...string) *Session
- func (engine *Engine) Omit(columns ...string) *Session
- func (engine *Engine) OrderBy(order string) *Session
- func (engine *Engine) Ping() error
- func (engine *Engine) Query(sql string, paramStr ...interface{}) (resultsSlice []map[string][]byte, err error)
- func (engine *Engine) Query2(sql string, paramStr ...interface{}) (resultsSlice []map[string]string, err error)
- func (engine *Engine) Quote(sql string) string
- func (engine *Engine) QuoteStr() string
- func (engine *Engine) ReloadSqlMap(filepath string) error
- func (engine *Engine) ReloadSqlTemplate(filepath string) error
- func (engine *Engine) RemoveSql(key string)
- func (engine *Engine) RemoveSqlTemplate(key string)
- func (engine *Engine) Rows(bean interface{}) (*Rows, error)
- func (engine *Engine) Select(str string) *Session
- func (engine *Engine) SetColumnMapper(mapper core.IMapper)
- func (engine *Engine) SetDefaultCacher(cacher core.Cacher)
- func (engine *Engine) SetDisableGlobalCache(disable bool)
- func (engine *Engine) SetExpr(column string, expression string) *Session
- func (engine *Engine) SetLogger(logger core.ILogger)
- func (engine *Engine) SetMapper(mapper core.IMapper)
- func (engine *Engine) SetMaxIdleConns(conns int)
- func (engine *Engine) SetMaxOpenConns(conns int)
- func (engine *Engine) SetTableMapper(mapper core.IMapper)
- func (engine *Engine) ShowExecTime(show ...bool)
- func (engine *Engine) ShowSQL(show ...bool)
- func (engine *Engine) Sql(querystring string, args ...interface{}) *Session
- func (engine *Engine) SqlMapClient(sqlTagName string, args ...interface{}) *Session
- func (engine *Engine) SqlTemplateClient(sqlTagName string, args ...interface{}) *Session
- func (engine *Engine) SqlType(c *core.Column) string
- func (engine *Engine) StartFSWatcher() error
- func (engine *Engine) StopFSWatcher() error
- func (engine *Engine) StoreEngine(storeEngine string) *Session
- func (engine *Engine) SupportInsertMany() bool
- func (engine *Engine) Sync(beans ...interface{}) error
- func (engine *Engine) Sync2(beans ...interface{}) error
- func (engine *Engine) TZTime(t time.Time) time.Time
- func (engine *Engine) Table(tableNameOrBean interface{}) *Session
- func (engine *Engine) TableInfo(bean interface{}) *core.Table
- func (engine *Engine) Unscoped() *Session
- func (engine *Engine) Update(bean interface{}, condiBeans ...interface{}) (int64, error)
- func (engine *Engine) UpdateSql(key string, sql string)
- func (engine *Engine) UpdateSqlTemplate(key string, sqlTemplateStr string) error
- func (engine *Engine) UseBool(columns ...string) *Session
- func (engine *Engine) Where(querystring string, args ...interface{}) *Session
- type IterFunc
- type LRUCacher
- func (m *LRUCacher) ClearBeans(tableName string)
- func (m *LRUCacher) ClearIds(tableName string)
- func (m *LRUCacher) DelBean(tableName string, id string)
- func (m *LRUCacher) DelIds(tableName, sql string)
- func (m *LRUCacher) GC()
- func (m *LRUCacher) GetBean(tableName string, id string) interface{}
- func (m *LRUCacher) GetIds(tableName, sql string) interface{}
- func (m *LRUCacher) PutBean(tableName string, id string, obj interface{})
- func (m *LRUCacher) PutIds(tableName, sql string, ids interface{})
- func (m *LRUCacher) RunGC()
- type MemoryStore
- type Result
- type ResultBean
- type ResultMap
- type ResultStructs
- type Rows
- type Session
- func (session *Session) After(closures func(interface{})) *Session
- func (session *Session) Alias(alias string) *Session
- func (session *Session) AllCols() *Session
- func (session *Session) And(querystring string, args ...interface{}) *Session
- func (session *Session) Asc(colNames ...string) *Session
- func (session *Session) Before(closures func(interface{})) *Session
- func (session *Session) Begin() error
- func (session *Session) Cascade(trueOrFalse ...bool) *Session
- func (session *Session) Charset(charset string) *Session
- func (session *Session) Clone() *Session
- func (session *Session) Close()
- func (session *Session) Cols(columns ...string) *Session
- func (session *Session) Commit() error
- func (session *Session) Count(bean interface{}) (int64, error)
- func (session *Session) CreateIndexes(bean interface{}) error
- func (session *Session) CreateTable(bean interface{}) error
- func (session *Session) CreateUniques(bean interface{}) error
- func (session *Session) DB() *core.DB
- func (session *Session) Decr(column string, arg ...interface{}) *Session
- func (session *Session) Delete(bean interface{}) (int64, error)
- func (session *Session) Desc(colNames ...string) *Session
- func (session *Session) Distinct(columns ...string) *Session
- func (session *Session) DropIndexes(bean interface{}) error
- func (session *Session) DropTable(beanOrTableName interface{}) error
- func (session *Session) Exec(sqlStr string, args ...interface{}) (sql.Result, error)
- func (session *Session) Execute() (sql.Result, error)
- func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) ResultStructs
- func (session *Session) ForUpdate() *Session
- func (session *Session) Get(bean interface{}) (bool, error)
- func (session *Session) GetFirst(bean interface{}) ResultBean
- func (session *Session) GroupBy(keys string) *Session
- func (session *Session) Having(conditions string) *Session
- func (session *Session) Id(id interface{}) *Session
- func (session *Session) In(column string, args ...interface{}) *Session
- func (session *Session) Incr(column string, arg ...interface{}) *Session
- func (session *Session) Init()
- func (session *Session) Insert(beans ...interface{}) (int64, error)
- func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error)
- func (session *Session) InsertOne(bean interface{}) (int64, error)
- func (session *Session) IsTableEmpty(bean interface{}) (bool, error)
- func (session *Session) IsTableExist(beanOrTableName interface{}) (bool, error)
- func (session *Session) Iterate(bean interface{}, fun IterFunc) error
- func (session *Session) Join(joinOperator string, tablename interface{}, condition string, ...) *Session
- func (session *Session) LastSQL() (string, []interface{})
- func (session *Session) Limit(limit int, start ...int) *Session
- func (session *Session) MustCols(columns ...string) *Session
- func (session *Session) NoAutoCondition(no ...bool) *Session
- func (session *Session) NoAutoTime() *Session
- func (session *Session) NoCache() *Session
- func (session *Session) NoCascade() *Session
- func (session *Session) Nullable(columns ...string) *Session
- func (session *Session) Omit(columns ...string) *Session
- func (session *Session) Or(querystring string, args ...interface{}) *Session
- func (session *Session) OrderBy(order string) *Session
- func (session *Session) Ping() error
- func (session *Session) Prepare() *Session
- func (session *Session) Query() ResultMap
- func (session *Session) QueryWithDateFormat(dateFormat string) ResultMap
- func (session *Session) Rollback() error
- func (session *Session) Rows(bean interface{}) (*Rows, error)
- func (session *Session) Select(str string) *Session
- func (session *Session) SetExpr(column string, expression string) *Session
- func (session *Session) Sql(querystring string, args ...interface{}) *Session
- func (session *Session) SqlMapClient(sqlTagName string, args ...interface{}) *Session
- func (session *Session) SqlTemplateClient(sqlTagName string, args ...interface{}) *Session
- func (session *Session) StoreEngine(storeEngine string) *Session
- func (s *Session) Sync2(beans ...interface{}) error
- func (session *Session) Table(tableNameOrBean interface{}) *Session
- func (session *Session) Unscoped() *Session
- func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int64, error)
- func (session *Session) UseBool(columns ...string) *Session
- func (session *Session) Where(querystring string, args ...interface{}) *Session
- type SimpleLogger
- func (s *SimpleLogger) Debug(v ...interface{})
- func (s *SimpleLogger) Debugf(format string, v ...interface{})
- func (s *SimpleLogger) Error(v ...interface{})
- func (s *SimpleLogger) Errorf(format string, v ...interface{})
- func (s *SimpleLogger) Info(v ...interface{})
- func (s *SimpleLogger) Infof(format string, v ...interface{})
- func (s *SimpleLogger) IsShowSQL() bool
- func (s *SimpleLogger) Level() core.LogLevel
- func (s *SimpleLogger) SetLevel(l core.LogLevel)
- func (s *SimpleLogger) ShowSQL(show ...bool)
- func (s *SimpleLogger) Warn(v ...interface{})
- func (s *SimpleLogger) Warnf(format string, v ...interface{})
- type Sql
- type SqlMap
- type SqlMapOptions
- type SqlTemplate
- type SqlTemplateOptions
- type Statement
- func (statement *Statement) Alias(alias string) *Statement
- func (statement *Statement) AllCols() *Statement
- func (statement *Statement) And(querystring string, args ...interface{}) *Statement
- func (statement *Statement) Asc(colNames ...string) *Statement
- func (statement *Statement) Cols(columns ...string) *Statement
- func (statement *Statement) Decr(column string, arg ...interface{}) *Statement
- func (statement *Statement) Desc(colNames ...string) *Statement
- func (statement *Statement) Distinct(columns ...string) *Statement
- func (statement *Statement) ForUpdate() *Statement
- func (statement *Statement) GroupBy(keys string) *Statement
- func (statement *Statement) Having(conditions string) *Statement
- func (statement *Statement) Id(id interface{}) *Statement
- func (statement *Statement) In(column string, args ...interface{}) *Statement
- func (statement *Statement) Incr(column string, arg ...interface{}) *Statement
- func (statement *Statement) Init()
- func (statement *Statement) Join(joinOP string, tablename interface{}, condition string, args ...interface{}) *Statement
- func (statement *Statement) JoinColumns(cols []*core.Column, includeTableName bool) string
- func (statement *Statement) Limit(limit int, start ...int) *Statement
- func (statement *Statement) MustCols(columns ...string) *Statement
- func (statement *Statement) NoAutoCondition(no ...bool) *Statement
- func (statement *Statement) Nullable(columns ...string)
- func (statement *Statement) Omit(columns ...string)
- func (statement *Statement) Or(querystring string, args ...interface{}) *Statement
- func (statement *Statement) OrderBy(order string) *Statement
- func (s *Statement) Select(str string) *Statement
- func (statement *Statement) SetExpr(column string, expression string) *Statement
- func (statement *Statement) Sql(querystring string, args ...interface{}) *Statement
- func (statement *Statement) Table(tableNameOrBean interface{}) *Statement
- func (statement *Statement) TableName() string
- func (statement *Statement) Top(limit int) *Statement
- func (statement *Statement) Unscoped() *Statement
- func (statement *Statement) UseBool(columns ...string) *Statement
- func (statement *Statement) Where(querystring string, args ...interface{}) *Statement
- type SyslogLogger
- func (s *SyslogLogger) Debug(v ...interface{})
- func (s *SyslogLogger) Debugf(format string, v ...interface{})
- func (s *SyslogLogger) Error(v ...interface{})
- func (s *SyslogLogger) Errorf(format string, v ...interface{})
- func (s *SyslogLogger) Info(v ...interface{})
- func (s *SyslogLogger) Infof(format string, v ...interface{})
- func (s *SyslogLogger) IsShowSQL() bool
- func (s *SyslogLogger) Level() core.LogLevel
- func (s *SyslogLogger) SetLevel(l core.LogLevel)
- func (s *SyslogLogger) ShowSQL(show ...bool)
- func (s *SyslogLogger) Warn(v ...interface{})
- func (s *SyslogLogger) Warnf(format string, v ...interface{})
- type TableName
Constants ¶
const ( DEFAULT_LOG_PREFIX = "[xorm]" DEFAULT_LOG_FLAG = log.Ldate | log.Lmicroseconds DEFAULT_LOG_LEVEL = core.LOG_DEBUG )
const ( MSSQL_DRIVER string = "mssql" MSSQL_ODBC_DRIVER string = "odbc" MYSQL_DRIVER string = "mysql" MYMYSQL_DRIVER string = "mymysql" POSTGRESQL_DRIVER string = "postgres" OCI8_DRIVER string = "oci8" GORACLE_DRIVER string = "goracle" SQLITE3_DRIVER string = "sqlite3" )
const ( // Version show the xorm's version Version string = "0.5.4.0513" )
Variables ¶
var ( ErrParamsType error = errors.New("Params type error") ErrTableNotFound error = errors.New("Not found table") ErrUnSupportedType error = errors.New("Unsupported type error") ErrNotExist error = errors.New("Not exist error") ErrCacheFailed error = errors.New("Cache failed") ErrNeedDeletedCond error = errors.New("Delete need at least one condition") ErrNotImplemented error = errors.New("Not implemented.") )
var (
NULL_TIME time.Time
)
Functions ¶
func JSONString ¶
Types ¶
type AfterDeleteProcessor ¶
type AfterDeleteProcessor interface {
AfterDelete()
}
Executed after an object has been deleted
type AfterInsertProcessor ¶
type AfterInsertProcessor interface {
AfterInsert()
}
Executed after an object is persisted to the database
type AfterSetProcessor ¶
type AfterUpdateProcessor ¶
type AfterUpdateProcessor interface {
AfterUpdate()
}
Executed after an object has been updated
type BeforeDeleteProcessor ¶
type BeforeDeleteProcessor interface {
BeforeDelete()
}
Executed before an object is deleted
type BeforeInsertProcessor ¶
type BeforeInsertProcessor interface {
BeforeInsert()
}
Executed before an object is initially persisted to the database
type BeforeSetProcessor ¶
type BeforeUpdateProcessor ¶
type BeforeUpdateProcessor interface {
BeforeUpdate()
}
Executed before an object is updated
type DiscardLogger ¶
type DiscardLogger struct{}
func (DiscardLogger) Debug ¶
func (DiscardLogger) Debug(v ...interface{})
func (DiscardLogger) Debugf ¶
func (DiscardLogger) Debugf(format string, v ...interface{})
func (DiscardLogger) Error ¶
func (DiscardLogger) Error(v ...interface{})
func (DiscardLogger) Errorf ¶
func (DiscardLogger) Errorf(format string, v ...interface{})
func (DiscardLogger) Info ¶
func (DiscardLogger) Info(v ...interface{})
func (DiscardLogger) Infof ¶
func (DiscardLogger) Infof(format string, v ...interface{})
func (DiscardLogger) IsShowSQL ¶
func (DiscardLogger) IsShowSQL() bool
func (DiscardLogger) Level ¶
func (DiscardLogger) Level() core.LogLevel
func (DiscardLogger) SetLevel ¶
func (DiscardLogger) SetLevel(l core.LogLevel)
func (DiscardLogger) ShowSQL ¶
func (DiscardLogger) ShowSQL(show ...bool)
func (DiscardLogger) Warn ¶
func (DiscardLogger) Warn(v ...interface{})
func (DiscardLogger) Warnf ¶
func (DiscardLogger) Warnf(format string, v ...interface{})
type Engine ¶
type Engine struct { ColumnMapper core.IMapper TableMapper core.IMapper TagIdentifier string Tables map[reflect.Type]*core.Table SqlMap SqlMap SqlTemplate SqlTemplate Cacher core.Cacher TZLocation *time.Location // contains filtered or unexported fields }
Engine is the major struct of xorm, it means a database manager. Commonly, an application only need one engine
func NewEngine ¶
NewEngine new a db manager according to the parameter. Currently support four drivers
func NewPostgreSQL ¶
func NewSqlite3 ¶
func (*Engine) AddSqlTemplate ¶
func (*Engine) Asc ¶
Method Asc will generate "ORDER BY column1,column2 Asc" This method can chainable use.
engine.Desc("name").Asc("age").Find(&users) // SELECT * FROM user ORDER BY name DESC, age ASC
func (*Engine) AutoIncrStr ¶
AutoIncrStr Database's autoincrement statement
func (*Engine) ClearCache ¶
If enabled cache, clear some tables' cache
func (*Engine) ClearCacheBean ¶
If enabled cache, clear the cache bean
func (*Engine) CreateIndexes ¶
create indexes
func (*Engine) CreateTables ¶
CreateTables create tabls according bean
func (*Engine) CreateUniques ¶
create uniques
func (*Engine) DataSourceName ¶
DataSourceName return the current connection string
func (*Engine) Distinct ¶
use for distinct columns. Caution: when you are using cache, distinct will not be cached because cache system need id, but distinct will not provide id
func (*Engine) DriverName ¶
DriverName return the current sql driver's name
func (*Engine) DropTables ¶
func (*Engine) DumpAllToFile ¶
DumpAllToFile dump database all table structs and data to a file
func (*Engine) DumpTables ¶
DumpTables dump specify tables to io.Writer
func (*Engine) DumpTablesToFile ¶
DumpTablesToFile dump specified tables to SQL file.
func (*Engine) Find ¶
Find retrieve records from table, condiBeans's non-empty fields are conditions. beans could be []Struct, []*Struct, map[int64]Struct map[int64]*Struct
func (*Engine) FormatTime ¶
func (*Engine) GetFirst ¶
func (engine *Engine) GetFirst(bean interface{}) ResultBean
Get retrieve one record from table, bean's non-empty fields are conditions
func (*Engine) GobRegister ¶
func (*Engine) ImportFile ¶
Import SQL DDL file
func (*Engine) InitSqlMap ¶
func (engine *Engine) InitSqlMap(options ...SqlMapOptions) error
func (*Engine) InitSqlTemplate ¶
func (engine *Engine) InitSqlTemplate(options ...SqlTemplateOptions) error
func (*Engine) IsTableEmpty ¶
If a table has any reocrd
func (*Engine) IsTableExist ¶
If a table is exist
func (*Engine) Iterate ¶
Iterate record by record handle records from table, bean's non-empty fields are conditions.
func (*Engine) Join ¶
func (engine *Engine) Join(join_operator string, tablename interface{}, condition string, args ...interface{}) *Session
The join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN
func (*Engine) LoadSqlMap ¶
func (*Engine) LoadSqlTemplate ¶
func (*Engine) NoAutoCondition ¶
NoAutoCondition disable auto generate Where condition from bean or not
func (*Engine) NoAutoTime ¶
NoAutoTime Default if your struct has "created" or "updated" filed tag, the fields will automatically be filled with current time when Insert or Update invoked. Call NoAutoTime if you dont' want to fill automatically.
func (*Engine) NoCache ¶
NoCache If you has set default cacher, and you want temporilly stop use cache, you can use NoCache()
func (*Engine) Query ¶
func (engine *Engine) Query(sql string, paramStr ...interface{}) (resultsSlice []map[string][]byte, err error)
Exec a raw sql and return records as []map[string][]byte
func (*Engine) Query2 ¶
func (engine *Engine) Query2(sql string, paramStr ...interface{}) (resultsSlice []map[string]string, err error)
Exec a raw sql and return records as []map[string][]byte
func (*Engine) QuoteStr ¶
QuoteStr Engine's database use which charactor as quote. mysql, sqlite use ` and postgres use "
func (*Engine) ReloadSqlMap ¶
func (*Engine) ReloadSqlTemplate ¶
func (*Engine) RemoveSqlTemplate ¶
func (*Engine) Rows ¶
Return sql.Rows compatible Rows obj, as a forward Iterator object for iterating record by record, bean's non-empty fields are conditions.
func (*Engine) SetColumnMapper ¶
SetColumnMapper set the column name mapping rule
func (*Engine) SetDefaultCacher ¶
SetDefaultCacher set the default cacher. Xorm's default not enable cacher.
func (*Engine) SetDisableGlobalCache ¶
SetDisableGlobalCache disable global cache or not
func (*Engine) SetMaxIdleConns ¶
SetMaxIdleConns set the max idle connections on pool, default is 2
func (*Engine) SetMaxOpenConns ¶
SetMaxOpenConns is only available for go 1.2+
func (*Engine) SetTableMapper ¶
SetTableMapper set the table name mapping rule
func (*Engine) ShowExecTime ¶
ShowExecTime show SQL statment and execute time or not on logger if log level is great than INFO
func (*Engine) Sql ¶
Sql method let's you manualy write raw sql and operate For example:
engine.Sql("select * from user").Find(&users)
This code will execute "select * from user" and set the records to users
func (*Engine) SqlMapClient ¶
func (*Engine) SqlTemplateClient ¶
func (*Engine) StartFSWatcher ¶
start filesytem watcher
func (*Engine) StoreEngine ¶
set store engine when create table, only support mysql now
func (*Engine) SupportInsertMany ¶
SupportInsertMany If engine's database support batch insert records like "insert into user values (name, age), (name, age)". When the return is ture, then engine.Insert(&users) will generate batch sql and exeute.
func (*Engine) Sync ¶
Sync the new struct changes to database, this method will automatically add table, column, index, unique. but will not delete or change anything. If you change some field, you should change the database manually.
func (*Engine) Update ¶
Update records, bean's non-empty fields are updated contents, condiBean' non-empty filds are conditions CAUTION:
1.bool will defaultly be updated content nor conditions You should call UseBool if you have bool to use. 2.float32 & float64 may be not inexact as conditions
func (*Engine) UpdateSqlTemplate ¶
type LRUCacher ¶
type LRUCacher struct { // maxSize int MaxElementSize int Expired time.Duration GcInterval time.Duration // contains filtered or unexported fields }
func NewLRUCacher ¶
func NewLRUCacher(store core.CacheStore, maxElementSize int) *LRUCacher
func NewLRUCacher2 ¶
func (*LRUCacher) ClearBeans ¶
func (*LRUCacher) GC ¶
func (m *LRUCacher) GC()
GC check ids lit and sql list to remove all element expired
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
memory store
func NewMemoryStore ¶
func NewMemoryStore() *MemoryStore
func (*MemoryStore) Del ¶
func (s *MemoryStore) Del(key string) error
func (*MemoryStore) Get ¶
func (s *MemoryStore) Get(key string) (interface{}, error)
func (*MemoryStore) Put ¶
func (s *MemoryStore) Put(key string, value interface{}) error
type ResultBean ¶
type ResultStructs ¶
type ResultStructs struct { Result interface{} Error error }
func (ResultStructs) Json ¶
func (resultStructs ResultStructs) Json() (string, error)
func (ResultStructs) Xml ¶
func (resultStructs ResultStructs) Xml() (string, error)
type Rows ¶
type Rows struct { NoTypeCheck bool // contains filtered or unexported fields }
func (*Rows) Err ¶
Err returns the error, if any, that was encountered during iteration. Err may be called after an explicit or implicit Close.
type Session ¶
type Session struct { Engine *Engine Tx *core.Tx Statement Statement IsAutoCommit bool IsCommitedOrRollbacked bool TransType string IsAutoClose bool // Automatically reset the statement after operations that execute a SQL // query such as Count(), Find(), Get(), ... AutoResetStatement bool // contains filtered or unexported fields }
Struct Session keep a pointer to sql.DB and provides all execution of all kind of database operations.
func (*Session) Asc ¶
Method Asc provide asc order by query condition, the input parameters are columns.
func (*Session) CreateIndexes ¶
CreateIndexes create indexes
func (*Session) CreateTable ¶
CreateTable create a table according a bean
func (*Session) CreateUniques ¶
CreateUniques create uniques
func (*Session) Desc ¶
Method Desc provide desc order by query condition, the input parameters are columns.
func (*Session) Distinct ¶
Distinct use for distinct columns. Caution: when you are using cache, distinct will not be cached because cache system need id, but distinct will not provide id
func (*Session) DropIndexes ¶
drop indexes
func (*Session) DropTable ¶
drop table will drop table if exist, if drop failed, it will return error
func (*Session) Find ¶
func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) ResultStructs
func (*Session) Get ¶
Get retrieve one record from database, bean's non-empty fields will be as conditions
func (*Session) GetFirst ¶
func (session *Session) GetFirst(bean interface{}) ResultBean
func (*Session) InsertMulti ¶
InsertMulti insert multiple records
func (*Session) InsertOne ¶
InsertOne insert only one struct into database as a record. The in parameter bean must a struct or a point to struct. The return parameter is inserted and error
func (*Session) IsTableEmpty ¶
IsTableEmpty if table have any records
func (*Session) IsTableExist ¶
IsTableExist if a table is exist
func (*Session) Iterate ¶
Iterate record by record handle records from table, condiBeans's non-empty fields are conditions. beans could be []Struct, []*Struct, map[int64]Struct map[int64]*Struct
func (*Session) Join ¶
func (session *Session) Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session
Join join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN
func (*Session) NoAutoCondition ¶
NoAutoCondition disable generate SQL condition from beans
func (*Session) NoAutoTime ¶
NoAutoTime means do not automatically give created field and updated field the current time on the current session temporarily
func (*Session) NoCache ¶
NoCache ask this session do not retrieve data from cache system and get data from database directly.
func (*Session) OrderBy ¶
Method OrderBy provide order by query condition, the input parameter is the content after order by on a sql statement.
func (*Session) QueryWithDateFormat ¶
Exec a raw sql and return records as []map[string]interface{}
func (*Session) Rows ¶
Rows return sql.Rows compatible Rows obj, as a forward Iterator object for iterating record by record, bean's non-empty fields are conditions.
func (*Session) Sql ¶
Sql provides raw sql input parameter. When you have a complex SQL statement and cannot use Where, Id, In and etc. Methods to describe, you can use Sql.
func (*Session) SqlMapClient ¶
func (*Session) SqlTemplateClient ¶
func (*Session) StoreEngine ¶
Method StoreEngine is only avialble mysql dialect currently
func (*Session) Table ¶
Table can input a string or pointer to struct for special a table to operate.
func (*Session) Update ¶
Update records, bean's non-empty fields are updated contents, condiBean' non-empty filds are conditions CAUTION:
1.bool will defaultly be updated content nor conditions You should call UseBool if you have bool to use. 2.float32 & float64 may be not inexact as conditions
type SimpleLogger ¶
type SimpleLogger struct { DEBUG *log.Logger ERR *log.Logger INFO *log.Logger WARN *log.Logger // contains filtered or unexported fields }
SimpleLogger is the default implment of core.ILogger
func NewSimpleLogger ¶
func NewSimpleLogger(out io.Writer) *SimpleLogger
NewSimpleLogger use a special io.Writer as logger output
func NewSimpleLogger2 ¶
func NewSimpleLogger2(out io.Writer, prefix string, flag int) *SimpleLogger
NewSimpleLogger2 let you customrize your logger prefix and flag
func NewSimpleLogger3 ¶
NewSimpleLogger3 let you customrize your logger prefix and flag and logLevel
func (*SimpleLogger) Debug ¶
func (s *SimpleLogger) Debug(v ...interface{})
Debug implement core.ILogger
func (*SimpleLogger) Debugf ¶
func (s *SimpleLogger) Debugf(format string, v ...interface{})
Debugf implement core.ILogger
func (*SimpleLogger) Error ¶
func (s *SimpleLogger) Error(v ...interface{})
Error implement core.ILogger
func (*SimpleLogger) Errorf ¶
func (s *SimpleLogger) Errorf(format string, v ...interface{})
Errorf implement core.ILogger
func (*SimpleLogger) Info ¶
func (s *SimpleLogger) Info(v ...interface{})
Info implement core.ILogger
func (*SimpleLogger) Infof ¶
func (s *SimpleLogger) Infof(format string, v ...interface{})
Infof implement core.ILogger
func (*SimpleLogger) IsShowSQL ¶
func (s *SimpleLogger) IsShowSQL() bool
IsShowSQL implement core.ILogger
func (*SimpleLogger) Level ¶
func (s *SimpleLogger) Level() core.LogLevel
Level implement core.ILogger
func (*SimpleLogger) SetLevel ¶
func (s *SimpleLogger) SetLevel(l core.LogLevel)
SetLevel implement core.ILogger
func (*SimpleLogger) ShowSQL ¶
func (s *SimpleLogger) ShowSQL(show ...bool)
ShowSQL implement core.ILogger
func (*SimpleLogger) Warn ¶
func (s *SimpleLogger) Warn(v ...interface{})
Warn implement core.ILogger
func (*SimpleLogger) Warnf ¶
func (s *SimpleLogger) Warnf(format string, v ...interface{})
Warnf implement core.ILogger
type SqlMapOptions ¶
type SqlMapOptions struct {
Extension string
}
type SqlTemplate ¶
type SqlTemplateOptions ¶
type SqlTemplateOptions struct {
Extension string
}
type Statement ¶
type Statement struct { RefTable *core.Table OutTable *core.Table Engine *Engine Start int LimitN int WhereStr string IdParam *core.PK Params []interface{} OrderStr string JoinStr string GroupByStr string HavingStr string ColumnStr string OmitStr string ConditionStr string AltTableName string RawSQL string RawParams []interface{} UseCascade bool UseAutoJoin bool StoreEngine string Charset string BeanArgs []interface{} UseCache bool UseAutoTime bool IsDistinct bool IsForUpdate bool TableAlias string // contains filtered or unexported fields }
Statement save all the sql info for executing SQL
func (*Statement) Id ¶
Id generate "where id = ? " statment or for composite key "where key1 = ? and key2 = ?"
func (*Statement) Join ¶
func (statement *Statement) Join(joinOP string, tablename interface{}, condition string, args ...interface{}) *Statement
Join The joinOP should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN
func (*Statement) JoinColumns ¶
func (*Statement) NoAutoCondition ¶
NoAutoCondition if you do not want convert bean's field as query condition, then use this function
func (*Statement) Nullable ¶
Nullable Update use only: update columns to null when value is nullable and zero-value
func (*Statement) Table ¶
Table tempororily set table name, the parameter could be a string or a pointer of struct
type SyslogLogger ¶
type SyslogLogger struct {
// contains filtered or unexported fields
}
SyslogLogger will be depricated
func NewSyslogLogger ¶
func NewSyslogLogger(w *syslog.Writer) *SyslogLogger
func (*SyslogLogger) Debug ¶
func (s *SyslogLogger) Debug(v ...interface{})
func (*SyslogLogger) Debugf ¶
func (s *SyslogLogger) Debugf(format string, v ...interface{})
func (*SyslogLogger) Error ¶
func (s *SyslogLogger) Error(v ...interface{})
func (*SyslogLogger) Errorf ¶
func (s *SyslogLogger) Errorf(format string, v ...interface{})
func (*SyslogLogger) Info ¶
func (s *SyslogLogger) Info(v ...interface{})
func (*SyslogLogger) Infof ¶
func (s *SyslogLogger) Infof(format string, v ...interface{})
func (*SyslogLogger) IsShowSQL ¶
func (s *SyslogLogger) IsShowSQL() bool
func (*SyslogLogger) Level ¶
func (s *SyslogLogger) Level() core.LogLevel
func (*SyslogLogger) SetLevel ¶
func (s *SyslogLogger) SetLevel(l core.LogLevel)
SetLevel always return error, as current log/syslog package doesn't allow to set priority level after syslog.Writer created
func (*SyslogLogger) ShowSQL ¶
func (s *SyslogLogger) ShowSQL(show ...bool)
func (*SyslogLogger) Warn ¶
func (s *SyslogLogger) Warn(v ...interface{})
func (*SyslogLogger) Warnf ¶
func (s *SyslogLogger) Warnf(format string, v ...interface{})
Source Files ¶
- engine.go
- engineplus.go
- error.go
- fswatcher.go
- goracle_driver.go
- helpers.go
- helpersplus.go
- logger.go
- lru_cacher.go
- memroy_store.go
- mssql_dialect.go
- mymysql_driver.go
- mysql_dialect.go
- mysql_driver.go
- oci8_driver.go
- odbc_driver.go
- oracle_dialect.go
- postgres_dialect.go
- pq_driver.go
- processors.go
- rows.go
- session.go
- sessionplus.go
- sqlite3_dialect.go
- sqlite3_driver.go
- sqlmap.go
- sqltemplate.go
- statement.go
- syslogger.go
- types.go
- xorm.go
- xormplus.go