Documentation ¶
Overview ¶
包gdb为流行的关系型数据库提供ORM(对象关系映射)功能。
待办事项:将context.Context作为所有数据库操作的必需参数。 md5:ed61b69bd00b7384
Index ¶
- Constants
- func FormatMultiLineSqlToSingle(sql string) (string, error)
- func X取结构数组或Map数组值(结构数组或Map数组 interface{}, 名称 interface{}, ...) (数组值 []interface{})
- func X取结构数组或Map数组值并去重(结构数组或Map数组 interface{}, 名称 string, 子名称 ...interface{}) []interface{}
- func X底层GetInsertOperationByOption(选项 X类型_InsertOption) string
- func X底层GetPrimaryKeyCondition(primary string, where ...interface{}) (newWhereCondition []interface{})
- func X底层WithDB(上下文 context.Context, DB对象 DB) context.Context
- func X底层WithTX(上下文 context.Context, 事务对象 TX) context.Context
- func X捕捉SQL语句(上下文 context.Context, 回调函数 func(上下文 context.Context) error) (sql数组 []string, 错误 error)
- func X捕捉最后一条SQL语句(上下文 context.Context, 回调函数 func(上下文 context.Context) error) (sql string, 错误 error)
- func X是否已配置数据库() bool
- func X格式化Sql(sql string, 参数数组 []interface{}) string
- func X注册驱动(名称 string, 驱动 Driver) error
- func X添加配置组节点(配置组名称 string, 配置 X结构_配置)
- func X添加默认配置组(配置组 X类型_配置组)
- func X添加默认配置组节点(配置 X结构_配置)
- func X获取默认组名称() string
- func X设置全局配置(配置 X类型_配置管理对象)
- func X设置组配置(配置组名称 string, 配置 X类型_配置组)
- func X设置默认组名称(配置组名称 string)
- func X转换到Map(待转换值 interface{}, omitempty bool) map[string]interface{}
- type ChunkHandler
- type DB
- type Driver
- type HookFuncDelete
- type HookFuncInsert
- type HookFuncSelect
- type HookFuncUpdate
- type Link
- type ModelHandler
- type SoftTimeType
- type StatsItem
- type TX
- type X类型_InsertOption
- type X类型_LocalType
- type X类型_Map
- type X类型_Map数组
- type X类型_Raw
- type X类型_Record
- type X类型_Result
- func (r X类型_Result) RecordKeyInt(key string) map[int]X类型_Record
- func (r X类型_Result) RecordKeyStr(key string) map[string]X类型_Record
- func (r X类型_Result) RecordKeyUint(key string) map[uint]X类型_Record
- func (r X类型_Result) X分割(数量 int) []X类型_Result
- func (r X类型_Result) X取Map数组() X类型_Map数组
- func (r X类型_Result) X取json() string
- func (r X类型_Result) X取xml(根标记 ...string) string
- func (r X类型_Result) X取字段MapInt(字段名称 string) map[int]X类型_Map
- func (r X类型_Result) X取字段MapStr(字段名称 string) map[string]X类型_Map
- func (r X类型_Result) X取字段MapUint(字段名称 string) map[uint]X类型_Map
- func (r X类型_Result) X取字段Map泛型类(字段名称 string) map[string]X类型_Value
- func (r X类型_Result) X取字段数组(字段名称 ...string) []X类型_Value
- func (r X类型_Result) X取成员数() int
- func (r X类型_Result) X取结构或结构数组并关联(变量指针 interface{}, 绑定到结构属性名称 string, ...) (错误 error)
- func (r X类型_Result) X取结构数组(变量指针 interface{}) (错误 error)
- func (r X类型_Result) X弃用_Size() int
- func (r X类型_Result) X是否为空() bool
- type X类型_SqlType
- type X类型_Value
- type X类型_配置管理对象
- type X类型_配置组
- type X结构_CacheOption
- type X结构_CatchSQLManager
- type X结构_Core
- func (c *X结构_Core) FormatUpsert(columns []string, list X类型_Map数组, option X结构_DoInsertOption) (string, error)
- func (c *X结构_Core) IsSoftCreatedFieldName(fieldName string) bool
- func (c X结构_Core) MarshalJSON() ([]byte, error)
- func (c *X结构_Core) Stats(ctx context.Context) []StatsItem
- func (c *X结构_Core) X事务(上下文 context.Context, ...) (错误 error)
- func (c *X结构_Core) X事务开启(上下文 context.Context) (事务对象 TX, 错误 error)
- func (c *X结构_Core) X关联对象(关联结构 ...interface{}) *X结构_Model
- func (c *X结构_Core) X关闭数据库(上下文 context.Context) (错误 error)
- func (c *X结构_Core) X切换数据库(数据库名 string) *X结构_Schema
- func (c *X结构_Core) X创建Model对象(表名或结构 ...interface{}) *X结构_Model
- func (c *X结构_Core) X删除(上下文 context.Context, 表名称 string, 条件 interface{}, ...) (结果 sql.Result, 错误 error)
- func (c *X结构_Core) X删除所有表查询缓存(上下文 context.Context) (错误 error)
- func (c *X结构_Core) X删除表字段所有缓存(上下文 context.Context) (错误 error)
- func (c *X结构_Core) X删除表字段缓存(上下文 context.Context, 表名称 string, schema ...string) (错误 error)
- func (c *X结构_Core) X删除表查询缓存(上下文 context.Context, 表名称 string) (错误 error)
- func (c *X结构_Core) X原生SQL(原生Sql string, 参数 ...interface{}) *X结构_Model
- func (c *X结构_Core) X原生SQL执行(上下文 context.Context, sql string, 参数 ...interface{}) (结果 sql.Result, 错误 error)
- func (c *X结构_Core) X原生SQL查询(上下文 context.Context, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
- func (c *X结构_Core) X原生SQL查询到结构(上下文 context.Context, 结构指针 interface{}, sql string, ...) error
- func (c *X结构_Core) X原生SQL查询单条(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Record, error)
- func (c *X结构_Core) X原生SQL查询多条(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Result, error)
- func (c *X结构_Core) X原生SQL查询字段值(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Value, error)
- func (c *X结构_Core) X原生SQL查询字段计数(上下文 context.Context, sql string, 参数 ...interface{}) (int, error)
- func (c *X结构_Core) X原生SQL查询数组(上下文 context.Context, sql string, 参数 ...interface{}) ([]X类型_Value, error)
- func (c *X结构_Core) X原生sql取参数预处理对象(上下文 context.Context, sql string, 是否主节点执行 ...bool) (*X结构_Stmt, error)
- func (c *X结构_Core) X原生sql记录到行记录数组对象(上下文 context.Context, 底层数据记录 *sql.Rows) (X类型_Result, error)
- func (c *X结构_Core) X取Core对象() *X结构_Core
- func (c *X结构_Core) X取DB对象() DB
- func (c *X结构_Core) X取上下文对象() context.Context
- func (c *X结构_Core) X取主节点对象(数据库名称 ...string) (*sql.DB, error)
- func (c *X结构_Core) X取从节点对象(数据库名称 ...string) (*sql.DB, error)
- func (c *X结构_Core) X取字段信息对象(上下文 context.Context, 字段名称, 表名称, 数据库名称 string) *X结构_TableField
- func (c *X结构_Core) X取字段类型(上下文 context.Context, 字段名称, 表名称, 数据库名称 string) string
- func (c *X结构_Core) X取当前节点配置() *X结构_配置
- func (c *X结构_Core) X取数据库链接信息() string
- func (c *X结构_Core) X取数据库链接对象(上下文 context.Context, 主节点 bool, schema string) (Link, error)
- func (c *X结构_Core) X取日志记录器() glog.ILogger
- func (c *X结构_Core) X取空跑特性() bool
- func (c *X结构_Core) X取缓存对象() *gcache.X结构_缓存
- func (c *X结构_Core) X取表前缀() string
- func (c *X结构_Core) X取表名称数组(上下文 context.Context, schema ...string) (表名称数组 []string, 错误 error)
- func (c *X结构_Core) X取表名称缓存() ([]string, error)
- func (c *X结构_Core) X取表字段信息Map(上下文 context.Context, 表名称 string, schema ...string) (字段信息Map map[string]*X结构_TableField, 错误 error)
- func (c *X结构_Core) X取调试模式() bool
- func (c *X结构_Core) X取超时上下文对象(上下文 context.Context, 超时类型 int) (context.Context, context.CancelFunc)
- func (c *X结构_Core) X取配置组名称() string
- func (c *X结构_Core) X取默认数据库名称() string
- func (c *X结构_Core) X向主节点发送心跳() error
- func (c *X结构_Core) X向从节点发送心跳() error
- func (c *X结构_Core) X多表去重查询(Model对象 ...*X结构_Model) *X结构_Model
- func (c *X结构_Core) X多表查询(Model对象 ...*X结构_Model) *X结构_Model
- func (c *X结构_Core) X底层CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue interface{}) (X类型_LocalType, error)
- func (c *X结构_Core) X底层ConvertDataForRecord(上下文 context.Context, 值 interface{}, 表名称 string) (map[string]interface{}, error)
- func (c *X结构_Core) X底层ConvertValueForField(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error)
- func (c *X结构_Core) X底层ConvertValueForLocal(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error)
- func (c *X结构_Core) X底层DoCommit(ctx context.Context, in X结构_DoCommitInput) (out X结构_DoCommitOutput, err error)
- func (c *X结构_Core) X底层DoFilter(ctx context.Context, link Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error)
- func (c *X结构_Core) X底层MasterLink(schema ...string) (Link, error)
- func (c *X结构_Core) X底层QuoteString(s string) string
- func (c *X结构_Core) X底层QuoteWord(s string) string
- func (c *X结构_Core) X底层SlaveLink(schema ...string) (Link, error)
- func (c *X结构_Core) X底层_GetIgnoreResultFromCtx(ctx context.Context) bool
- func (c *X结构_Core) X底层_InjectIgnoreResult(ctx context.Context) context.Context
- func (c *X结构_Core) X底层删除(上下文 context.Context, 链接 Link, 表名称 string, 条件 string, ...) (结果 sql.Result, 错误 error)
- func (c *X结构_Core) X底层原生SQL执行(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 sql.Result, 错误 error)
- func (c *X结构_Core) X底层原生SQL查询(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
- func (c *X结构_Core) X底层原生sql参数预处理对象(上下文 context.Context, 链接 Link, sql string) (参数预处理 *X结构_Stmt, 错误 error)
- func (c *X结构_Core) X底层取数据库安全字符() (左字符 string, 右字符 string)
- func (c *X结构_Core) X底层插入(上下文 context.Context, 链接 Link, 表名称 string, ...) (result sql.Result, err error)
- func (c *X结构_Core) X底层更新(上下文 context.Context, 链接 Link, 表名称 string, 值 interface{}, ...) (result sql.Result, err error)
- func (c *X结构_Core) X底层查询(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
- func (c *X结构_Core) X底层添加前缀字符和引用字符(表名称 string) string
- func (c *X结构_Core) X插入(上下文 context.Context, 表名称 string, 值 interface{}, ...) (sql.Result, error)
- func (c *X结构_Core) X插入并取ID(上下文 context.Context, 表名称 string, 值 interface{}, ...) (int64, error)
- func (c *X结构_Core) X插入并更新已存在(上下文 context.Context, 表名称 string, 值 interface{}, ...) (sql.Result, error)
- func (c *X结构_Core) X插入并替换已存在(上下文 context.Context, 表名称 string, 值 interface{}, ...) (sql.Result, error)
- func (c *X结构_Core) X插入并跳过已存在(上下文 context.Context, 表名称 string, 值 interface{}, ...) (sql.Result, error)
- func (c *X结构_Core) X是否存在字段(上下文 context.Context, 表名称, 字段名称 string, schema ...string) (bool, error)
- func (c *X结构_Core) X是否存在表名(表名称 string) (bool, error)
- func (c *X结构_Core) X更新(上下文 context.Context, 表名称 string, 数据 interface{}, ...) (sql.Result, error)
- func (c *X结构_Core) X格式化Sql(sql string, 参数数组 []interface{}) (新sql string, 新参数数组 []interface{})
- func (c *X结构_Core) X设置上下文并取副本(上下文 context.Context) DB
- func (c *X结构_Core) X设置日志记录器(日志记录器 glog.ILogger)
- func (c *X结构_Core) X设置最大打开连接数(连接数 int)
- func (c *X结构_Core) X设置最大空闲时长(时长 time.Duration)
- func (c *X结构_Core) X设置最大闲置连接数(连接数 int)
- func (c *X结构_Core) X设置空跑特性(开启 bool)
- func (c *X结构_Core) X设置调试模式(开启 bool)
- type X结构_Counter
- type X结构_DoCommitInput
- type X结构_DoCommitOutput
- type X结构_DoInsertOption
- type X结构_DriverDefault
- type X结构_DriverWrapper
- type X结构_DriverWrapperDB
- func (d *X结构_DriverWrapperDB) X取表名称数组(上下文 context.Context, schema ...string) (表名称数组 []string, 错误 error)
- func (d *X结构_DriverWrapperDB) X取表字段信息Map(ctx context.Context, table string, schema ...string) (fields map[string]*X结构_TableField, err error)
- func (d *X结构_DriverWrapperDB) X底层Open(node *X结构_配置) (db *sql.DB, err error)
- func (d *X结构_DriverWrapperDB) X底层插入(上下文 context.Context, 链接 Link, 表名称 string, ...) (result sql.Result, err error)
- type X结构_HookDeleteInput
- type X结构_HookHandler
- type X结构_HookInsertInput
- type X结构_HookSelectInput
- type X结构_HookUpdateInput
- type X结构_Model
- func (m *X结构_Model) Hook(hook X结构_HookHandler) *X结构_Model
- func (m *X结构_Model) Offset(offset int) *X结构_Model
- func (m *X结构_Model) OnConflict(onConflict ...interface{}) *X结构_Model
- func (m *X结构_Model) SoftTime(option X结构_SoftTimeOption) *X结构_Model
- func (m *X结构_Model) Unscoped() *X结构_Model
- func (m *X结构_Model) X事务(上下文 context.Context, ...) (错误 error)
- func (m *X结构_Model) X关联全部对象() *X结构_Model
- func (m *X结构_Model) X关联对象(关联结构 ...interface{}) *X结构_Model
- func (m *X结构_Model) X内连接(表或子查询和连接条件 ...string) *X结构_Model
- func (m *X结构_Model) X内连接带比较运算符(表名, 第一个字段, 比较运算符, 第二个字段 string) *X结构_Model
- func (m *X结构_Model) X内连接相同字段(表名, 相同字段名 string) *X结构_Model
- func (m *X结构_Model) X分割(数量 int, 处理函数 ChunkHandler)
- func (m *X结构_Model) X切换数据库(数据库名 string) *X结构_Model
- func (m *X结构_Model) X创建组合条件() *X结构_WhereBuilder
- func (m *X结构_Model) X删除(条件 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X原生SQL(原生Sql string, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X取上下文对象() context.Context
- func (m *X结构_Model) X取主节点对象() *X结构_Model
- func (m *X结构_Model) X取从节点对象() *X结构_Model
- func (m *X结构_Model) X取所有字段名称(字段前缀 ...string) string
- func (m *X结构_Model) X取所有字段名称并排除(需要排除字段 string, 字段前缀 ...string) string
- func (m *X结构_Model) X取表字段信息Map(表名称 string, schema ...string) (字段信息Map map[string]*X结构_TableField, 错误 error)
- func (m *X结构_Model) X右连接(表或子查询和连接条件 ...string) *X结构_Model
- func (m *X结构_Model) X右连接带比较运算符(表名, 第一个字段, 比较运算符, 第二个字段 string) *X结构_Model
- func (m *X结构_Model) X右连接相同字段(表名, 相同字段名 string) *X结构_Model
- func (m *X结构_Model) X处理函数(处理函数 ...ModelHandler) *X结构_Model
- func (m *X结构_Model) X多表去重查询(Model对象 ...*X结构_Model) *X结构_Model
- func (m *X结构_Model) X多表查询(Model对象 ...*X结构_Model) *X结构_Model
- func (m *X结构_Model) X字段保留过滤(字段名或Map结构 ...interface{}) *X结构_Model
- func (m *X结构_Model) X字段保留过滤并带前缀(前缀或别名 string, 字段名或Map结构 ...interface{}) *X结构_Model
- func (m *X结构_Model) X字段排除过滤(字段名或Map结构 ...interface{}) *X结构_Model
- func (m *X结构_Model) X字段排除过滤并带前缀(前缀或别名 string, 字段名或Map结构 ...interface{}) *X结构_Model
- func (m *X结构_Model) X字段追加平均值(求平均值字段名称 string, 新字段别名 ...string) *X结构_Model
- func (m *X结构_Model) X字段追加最大值(最大值字段名称 string, 新字段别名 ...string) *X结构_Model
- func (m *X结构_Model) X字段追加最小值(最小值字段名称 string, 新字段别名 ...string) *X结构_Model
- func (m *X结构_Model) X字段追加求和(需要求和的字段名称 string, 新字段别名 ...string) *X结构_Model
- func (m *X结构_Model) X字段追加计数(需要计数的字段名称 string, 新字段别名 ...string) *X结构_Model
- func (m *X结构_Model) X左连接(表或子查询和连接条件 ...string) *X结构_Model
- func (m *X结构_Model) X左连接带比较运算符(表名, 第一个字段, 比较运算符, 第二个字段 string) *X结构_Model
- func (m *X结构_Model) X左连接相同字段(表名, 相同字段名 string) *X结构_Model
- func (m *X结构_Model) X底层Args(参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X底层QuoteWord(s string) string
- func (m *X结构_Model) X排序(字段名与排序方式 ...interface{}) *X结构_Model
- func (m *X结构_Model) X排序ASC(字段名称 string) *X结构_Model
- func (m *X结构_Model) X排序Desc(字段名称 string) *X结构_Model
- func (m *X结构_Model) X排序分组(分组名称 ...string) *X结构_Model
- func (m *X结构_Model) X排序随机() *X结构_Model
- func (m *X结构_Model) X插入(值 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X插入并取ID(值 ...interface{}) (最后插入ID int64, 错误 error)
- func (m *X结构_Model) X插入并更新已存在(值 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X插入并替换已存在(值 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X插入并跳过已存在(值 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X是否存在字段(字段名称 string) (bool, error)
- func (m *X结构_Model) X更新(数据或条件 ...interface{}) (结果 sql.Result, 错误 error)
- func (m *X结构_Model) X更新减量(字段名称 string, 减量值 interface{}) (sql.Result, error)
- func (m *X结构_Model) X更新增量(字段名称 string, 增量值 interface{}) (sql.Result, error)
- func (m *X结构_Model) X更新并取影响行数(数据或条件 ...interface{}) (影响行数 int64, 错误 error)
- func (m *X结构_Model) X条件(条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件NULL值(字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件不包含(字段名 string, 不包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件不等于(字段名 string, 值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件包含(字段名 string, 包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件大于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件大于等于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件小于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件小于等于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件并识别主键(条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件或(条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件或NULL值(字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件或NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件或不包含(字段名 string, 不包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或不等于(字段名 string, 值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或包含(字段名 string, 包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或大于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或大于等于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或小于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或小于等于(字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或并带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件或格式化(格式 string, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件或模糊匹配(字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件或非Null(字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件或非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件格式化(格式 string, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X条件模糊匹配(字段名 string, 通配符条件值 string) *X结构_Model
- func (m *X结构_Model) X条件模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_Model
- func (m *X结构_Model) X条件非Null(字段名 ...string) *X结构_Model
- func (m *X结构_Model) X条件非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_Model
- func (m *X结构_Model) X查询(查询条件 ...interface{}) (X类型_Result, error)
- func (m *X结构_Model) X查询一条(条件 ...interface{}) (X类型_Record, error)
- func (m *X结构_Model) X查询一条值(字段和条件 ...interface{}) (X类型_Value, error)
- func (m *X结构_Model) X查询与行数(是否用字段计数 bool) (结果 X类型_Result, 行数 int, 错误 error)
- func (m *X结构_Model) X查询字段行数(字段名称 string) (int, error)
- func (m *X结构_Model) X查询平均值(字段名称 string) (float64, error)
- func (m *X结构_Model) X查询数组(条件 ...interface{}) ([]X类型_Value, error)
- func (m *X结构_Model) X查询最大值(字段名称 string) (float64, error)
- func (m *X结构_Model) X查询最小值(字段名称 string) (float64, error)
- func (m *X结构_Model) X查询求和(字段名称 string) (float64, error)
- func (m *X结构_Model) X查询结构或结构数组(变量指针 interface{}, 条件 ...interface{}) error
- func (m *X结构_Model) X查询结构或结构数组与行数(数据指针 interface{}, 行数指针 *int, 是否用字段计数 bool) (错误 error)
- func (m *X结构_Model) X查询结构或结构数组并关联(变量指针 interface{}, 绑定到结构属性名称 string, ...) (错误 error)
- func (m *X结构_Model) X查询行数(条件 ...interface{}) (int, error)
- func (m *X结构_Model) X深拷贝对象() *X结构_Model
- func (m *X结构_Model) X缓存(选项 X结构_CacheOption) *X结构_Model
- func (m *X结构_Model) X设置DB对象(DB对象 DB) *X结构_Model
- func (m *X结构_Model) X设置上下文并取副本(上下文 context.Context) *X结构_Model
- func (m *X结构_Model) X设置事务对象(事务对象 TX) *X结构_Model
- func (m *X结构_Model) X设置分区名称(分区名称 ...string) *X结构_Model
- func (m *X结构_Model) X设置分组条件(条件 interface{}, 参数 ...interface{}) *X结构_Model
- func (m *X结构_Model) X设置分页(第几页, 条数 int) *X结构_Model
- func (m *X结构_Model) X设置去重() *X结构_Model
- func (m *X结构_Model) X设置批量操作行数(数量 int) *X结构_Model
- func (m *X结构_Model) X设置插入冲突不更新字段(字段名称 ...interface{}) *X结构_Model
- func (m *X结构_Model) X设置插入冲突更新字段(字段名称 ...interface{}) *X结构_Model
- func (m *X结构_Model) X设置数据(值 ...interface{}) *X结构_Model
- func (m *X结构_Model) X设置条数(条数或两个数字 ...int) *X结构_Model
- func (m *X结构_Model) X设置表别名(别名 string) *X结构_Model
- func (m *X结构_Model) X过滤Nil() *X结构_Model
- func (m *X结构_Model) X过滤Nil数据() *X结构_Model
- func (m *X结构_Model) X过滤Nil条件() *X结构_Model
- func (m *X结构_Model) X过滤空值() *X结构_Model
- func (m *X结构_Model) X过滤空值数据() *X结构_Model
- func (m *X结构_Model) X过滤空值条件() *X结构_Model
- func (m *X结构_Model) X链式安全(开启 ...bool) *X结构_Model
- func (m *X结构_Model) X锁写入() *X结构_Model
- func (m *X结构_Model) X锁读写() *X结构_Model
- type X结构_Schema
- type X结构_SoftTimeOption
- type X结构_Sql
- type X结构_SqlResult
- type X结构_Stmt
- func (s *X结构_Stmt) Close() error
- func (s *X结构_Stmt) ExecContext(ctx context.Context, args ...interface{}) (sql.Result, error)
- func (s *X结构_Stmt) QueryContext(ctx context.Context, args ...interface{}) (*sql.Rows, error)
- func (s *X结构_Stmt) QueryRow(args ...interface{}) *sql.Row
- func (s *X结构_Stmt) QueryRowContext(ctx context.Context, args ...interface{}) *sql.Row
- func (s *X结构_Stmt) X执行(参数 ...interface{}) (sql.Result, error)
- func (s *X结构_Stmt) X查询(参数 ...interface{}) (*sql.Rows, error)
- type X结构_TXCore
- func (tx *X结构_TXCore) ExecContext(ctx context.Context, sql string, args ...interface{}) (sql.Result, error)
- func (tx *X结构_TXCore) IsOnMaster() bool
- func (tx *X结构_TXCore) IsTransaction() bool
- func (tx *X结构_TXCore) PrepareContext(ctx context.Context, sql string) (*sql.Stmt, error)
- func (tx *X结构_TXCore) QueryContext(ctx context.Context, sql string, args ...interface{}) (*sql.Rows, error)
- func (tx *X结构_TXCore) X事务(上下文 context.Context, ...) (错误 error)
- func (tx *X结构_TXCore) X事务回滚() error
- func (tx *X结构_TXCore) X事务开启() error
- func (tx *X结构_TXCore) X事务提交() error
- func (tx *X结构_TXCore) X保存事务点(事务点名称 string) error
- func (tx *X结构_TXCore) X关联对象(关联结构 interface{}) *X结构_Model
- func (tx *X结构_TXCore) X创建Model对象(表名或结构 ...interface{}) *X结构_Model
- func (tx *X结构_TXCore) X删除(表名称 string, 条件 interface{}, 参数 ...interface{}) (sql.Result, error)
- func (tx *X结构_TXCore) X原生SQL(原生Sql string, 参数 ...interface{}) *X结构_Model
- func (tx *X结构_TXCore) X原生SQL执行(sql string, 参数 ...interface{}) (sql.Result, error)
- func (tx *X结构_TXCore) X原生SQL查询(sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
- func (tx *X结构_TXCore) X原生SQL查询到结构(结构指针 interface{}, sql string, 参数 ...interface{}) error
- func (tx *X结构_TXCore) X原生SQL查询到结构数组(结构指针 interface{}, sql string, 参数 ...interface{}) error
- func (tx *X结构_TXCore) X原生SQL查询单条(sql string, 参数 ...interface{}) (X类型_Record, error)
- func (tx *X结构_TXCore) X原生SQL查询单条到结构(结构指针 interface{}, sql string, 参数 ...interface{}) error
- func (tx *X结构_TXCore) X原生SQL查询多条(sql string, 参数 ...interface{}) (X类型_Result, error)
- func (tx *X结构_TXCore) X原生SQL查询字段值(sql string, 参数 ...interface{}) (X类型_Value, error)
- func (tx *X结构_TXCore) X原生SQL查询字段计数(sql string, 参数 ...interface{}) (int64, error)
- func (tx *X结构_TXCore) X原生sql取参数预处理对象(sql string) (*X结构_Stmt, error)
- func (tx *X结构_TXCore) X取DB对象() DB
- func (tx *X结构_TXCore) X取上下文对象() context.Context
- func (tx *X结构_TXCore) X回滚事务点(事务点名称 string) error
- func (tx *X结构_TXCore) X底层取事务对象() *sql.Tx
- func (tx *X结构_TXCore) X插入(表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
- func (tx *X结构_TXCore) X插入并取ID(表名称 string, 值 interface{}, 批量操作行数 ...int) (int64, error)
- func (tx *X结构_TXCore) X插入并更新已存在(表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
- func (tx *X结构_TXCore) X插入并替换已存在(表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
- func (tx *X结构_TXCore) X插入并跳过已存在(表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
- func (tx *X结构_TXCore) X是否已关闭() bool
- func (tx *X结构_TXCore) X更新(表名称 string, 值 interface{}, 条件 interface{}, 参数 ...interface{}) (sql.Result, error)
- func (tx *X结构_TXCore) X设置上下文并取副本(上下文 context.Context) TX
- type X结构_TableField
- type X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件NULL值(字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件不包含(字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件不等于(字段名 string, 值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件包含(字段名 string, 包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件大于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件大于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件小于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件小于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件并识别主键(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或NULL值(字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或不包含(字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或不等于(字段名 string, 值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或包含(字段名 string, 包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或大于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或大于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或小于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或小于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或并带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或格式化(格式 string, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或模糊匹配(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或非Null(字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件或非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件格式化(格式 string, 参数 ...interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件模糊匹配(字段名 string, 通配符条件值 string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件非Null(字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X条件非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X浅拷贝对象() *X结构_WhereBuilder
- func (b *X结构_WhereBuilder) X生成条件字符串及参数() (条件字符串 string, 参数 []interface{})
- type X结构_WhereHolder
- type X结构_配置
Constants ¶
const ( X常量_InsertOperationInsert = "INSERT" X常量_InsertOperationReplace = "REPLACE" X常量_InsertOperationIgnore = "INSERT IGNORE" X常量_InsertOnDuplicateKeyUpdate = "ON DUPLICATE KEY UPDATE" )
const ( X常量_OrmTagForStruct = "orm" X常量_OrmTagForTable = "table" X常量_OrmTagForWith = "with" X常量_OrmTagForWithWhere = "where" X常量_OrmTagForWithOrder = "order" X常量_OrmTagForDo = "do" )
const (
X常量_组_默认名称 = "default" // Default group name.
)
Variables ¶
This section is empty.
Functions ¶
func FormatMultiLineSqlToSingle ¶
FormatMultiLineSqlToSingle 将多行SQL模板字符串格式化为单行。 md5:cb1180487fd5c495
func X取结构数组或Map数组值 ¶
func X取结构数组或Map数组值(结构数组或Map数组 interface{}, 名称 interface{}, 子名称 ...interface{}) (数组值 []interface{})
X取结构数组或Map数组值 从所有具有键为 `key` 的映射或结构体元素中检索并返回。请注意,参数 `list` 应该是包含映射或结构体元素的切片,否则将返回一个空切片。
参数 `list` 支持以下类型: []map[string]interface{} []map[string]子映射 []struct []struct:子结构体 如果提供了可选参数 `subKey`,子映射/子结构体才有意义。请参阅 gutil.X取结构数组或Map数组值。 md5:e67327bcbcd82096
func X取结构数组或Map数组值并去重 ¶
func X取结构数组或Map数组值并去重(结构数组或Map数组 interface{}, 名称 string, 子名称 ...interface{}) []interface{}
X取结构数组或Map数组值并去重 获取并返回所有结构体/映射中键为`key`的唯一元素。 注意,参数`list`应为切片类型,且包含的元素为映射或结构体, 否则将返回一个空切片。 参见gutil.X取结构数组或Map数组值并去重。 md5:aa00cb15fafa41ba
func X底层GetInsertOperationByOption ¶
func X底层GetInsertOperationByOption(选项 X类型_InsertOption) string
X底层GetInsertOperationByOption 根据给定的 `option` 参数返回合适的插入操作选项。 md5:19b87dd1244d55ec
func X底层GetPrimaryKeyCondition ¶
func X底层GetPrimaryKeyCondition(primary string, where ...interface{}) (newWhereCondition []interface{})
X底层GetPrimaryKeyCondition 通过主键字段名返回一个新的WHERE条件。可选参数`where`的格式如下: 123 => primary=123 []int{1, 2, 3} => primary IN(1,2,3) "john" => primary='john' []string{"john", "smith"} => primary IN('john','smith') g.Map{"id": g.Slice{1,2,3}} => id IN(1,2,3) g.Map{"id": 1, "name": "john"} => id=1 AND name='john' 等等。
注意,如果主键为空或者`where`参数长度大于1,它会直接返回给定的`where`参数。 md5:748dfa9c0f0d93b5
func X捕捉SQL语句 ¶
X捕捉SQL语句捕获并返回在给定闭包函数中执行的所有SQL语句。 注意,所有以下SQL语句都应使用由`f`函数传递的context对象。 md5:1088111f1248173d
func X捕捉最后一条SQL语句 ¶
X捕捉最后一条SQL语句 将给定闭包函数中的最后一个 SQL 语句格式化并返回,但并不会真正执行。 注意,所有后续的 SQL 语句都应该使用由函数 `f` 传递的上下文对象。 md5:3fe82285d68728a0
func X是否已配置数据库 ¶
func X是否已配置数据库() bool
X是否已配置数据库 检查并返回数据库是否已配置。 如果存在任何配置,它将返回 true。 md5:1232e7ebd0a7ce10
Types ¶
type ChunkHandler ¶
type ChunkHandler func(result X类型_Result, err error) bool
ChunkHandler 是一个函数,用于 Chunk 函数中,负责处理给定的结果和错误。 如果希望继续分块处理,则返回true;否则返回false以停止分块。 md5:e7b2a1b4761ac415
type DB ¶
type DB interface { // X创建Model对象 根据给定的模式创建并返回一个新的 ORM 模型。 // 参数 `table` 可以是多个表名,也可以包括别名,例如: // 1. 模型名称: // X创建Model对象("user") // X创建Model对象("user u") // u 作为 user 表的别名 // X创建Model对象("user, user_detail") // 多个模型名称 // X创建Model对象("user u, user_detail ud") // 多个模型名称及别名 // 2. 带别名的模型名称:X创建Model对象("user", "u") // 第二个参数指定别名 // 参见 Core.X创建Model对象 了解更多。 // md5:61d3e6d835068122 X创建Model对象(tableNameOrStruct ...interface{}) *X结构_Model // X原生SQL 根据原始SQL(而不是表格)创建并返回一个模型。 md5:96066a9d41296a2a X原生SQL(rawSql string, args ...interface{}) *X结构_Model // X切换数据库 创建并返回一个模式。 // 参见 Core.X切换数据库。 // md5:0f4472ee79f06819 X切换数据库(schema string) *X结构_Schema // X关联对象根据给定对象的元数据创建并返回一个ORM模型。同时参见Core.X关联对象。 // md5:78ab17ce6b00ce6e X关联对象(objects ...interface{}) *X结构_Model // X底层Open 使用给定的节点配置为数据库创建一个原始连接对象。 // 注意,不建议手动使用此函数。 // 另请参阅 DriverMysql.X底层Open。 // md5:1021f26472df579e X底层Open(config *X结构_配置) (*sql.DB, error) // X设置上下文并取副本 是一个链式函数,它创建并返回一个新的 DB,该 DB 是当前 DB 对象的浅拷贝,并在其中设置了给定的上下文。 // 另请参阅 Core.X设置上下文并取副本。 // md5:7eec5fab912764e7 X设置上下文并取副本(ctx context.Context) DB // X关闭数据库 关闭数据库并阻止新的查询开始。然后,X关闭数据库 等待已经在服务器上开始处理的所有查询完成。 // // 通常不会关闭 DB,因为 DB句柄应该是长期存在的,并且在多个 goroutine 之间共享。 // md5:0985fc8e558f83fc X关闭数据库(ctx context.Context) error X原生SQL查询(ctx context.Context, sql string, args ...interface{}) (X类型_Result, error) // See Core.Query. X原生SQL执行(ctx context.Context, sql string, args ...interface{}) (sql.Result, error) // See Core.Exec. X原生sql取参数预处理对象(ctx context.Context, sql string, execOnMaster ...bool) (*X结构_Stmt, error) // See Core.Prepare. X插入(ctx context.Context, table string, data interface{}, batch ...int) (sql.Result, error) // See Core.Insert. X插入并跳过已存在(ctx context.Context, table string, data interface{}, batch ...int) (sql.Result, error) // See Core.InsertIgnore. X插入并取ID(ctx context.Context, table string, data interface{}, batch ...int) (int64, error) // 参见Core.InsertAndGetId。 md5:b7dec69920da6e7a X插入并替换已存在(ctx context.Context, table string, data interface{}, batch ...int) (sql.Result, error) // See Core.Replace. X插入并更新已存在(ctx context.Context, table string, data interface{}, batch ...int) (sql.Result, error) // See Core.Save. X更新(ctx context.Context, table string, data interface{}, condition interface{}, args ...interface{}) (sql.Result, error) // See Core.Update. X删除(ctx context.Context, table string, condition interface{}, args ...interface{}) (sql.Result, error) // See Core.Delete. X底层查询(ctx context.Context, link Link, sql string, args ...interface{}) (result X类型_Result, err error) // See Core.DoSelect. X底层插入(ctx context.Context, link Link, table string, data X类型_Map数组, option X结构_DoInsertOption) (result sql.Result, err error) // See Core.DoInsert. X底层更新(ctx context.Context, link Link, table string, data interface{}, condition string, args ...interface{}) (result sql.Result, err error) // See Core.DoUpdate. X底层删除(ctx context.Context, link Link, table string, condition string, args ...interface{}) (result sql.Result, err error) // See Core.DoDelete. X底层原生SQL查询(ctx context.Context, link Link, sql string, args ...interface{}) (result X类型_Result, err error) // See Core.DoQuery. X底层原生SQL执行(ctx context.Context, link Link, sql string, args ...interface{}) (result sql.Result, err error) // See Core.DoExec. X底层DoFilter(ctx context.Context, link Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error) // See Core.DoFilter. X底层DoCommit(ctx context.Context, in X结构_DoCommitInput) (out X结构_DoCommitOutput, err error) // See Core.DoCommit. X底层原生sql参数预处理对象(ctx context.Context, link Link, sql string) (*X结构_Stmt, error) // See Core.DoPrepare. X原生SQL查询多条(ctx context.Context, sql string, args ...interface{}) (X类型_Result, error) // See Core.GetAll. X原生SQL查询单条(ctx context.Context, sql string, args ...interface{}) (X类型_Record, error) // See Core.GetOne. X原生SQL查询字段值(ctx context.Context, sql string, args ...interface{}) (X类型_Value, error) // See Core.GetValue. X原生SQL查询数组(ctx context.Context, sql string, args ...interface{}) ([]X类型_Value, error) // See Core.GetArray. X原生SQL查询字段计数(ctx context.Context, sql string, args ...interface{}) (int, error) // See Core.GetCount. X原生SQL查询到结构(ctx context.Context, objPointer interface{}, sql string, args ...interface{}) error // See Core.GetScan. X多表去重查询(unions ...*X结构_Model) *X结构_Model // See Core.Union. X多表查询(unions ...*X结构_Model) *X结构_Model // See Core.UnionAll. X取主节点对象(schema ...string) (*sql.DB, error) // See Core.Master. X取从节点对象(schema ...string) (*sql.DB, error) // See Core.Slave. X向主节点发送心跳() error // See Core.PingMaster. X向从节点发送心跳() error // See Core.PingSlave. X事务开启(ctx context.Context) (TX, error) // See Core.Begin. X事务(ctx context.Context, f func(ctx context.Context, tx TX) error) error // See Core.Transaction. X取缓存对象() *gcache.X结构_缓存 // See Core.GetCache. X设置调试模式(debug bool) // See Core.SetDebug. X取调试模式() bool // See Core.GetDebug. X取默认数据库名称() string // See Core.GetSchema. X取表前缀() string // See Core.GetPrefix. X取配置组名称() string // See Core.GetGroup. X设置空跑特性(enabled bool) // See Core.SetDryRun. X取空跑特性() bool // See Core.GetDryRun. X设置日志记录器(logger glog.ILogger) // See Core.SetLogger. X取日志记录器() glog.ILogger // See Core.GetLogger. X取当前节点配置() *X结构_配置 // See Core.GetConfig. X设置最大闲置连接数(n int) // 参见 Core.SetMaxIdleConnCount。 md5:93a41dde27176210 X设置最大打开连接数(n int) // 参见Core.SetMaxOpenConnCount。 md5:781ba14245ef2d2f X设置最大空闲时长(d time.Duration) // 请参考Core.SetMaxConnLifeTime。 md5:9886c404ca6b5919 Stats(ctx context.Context) []StatsItem // See Core.Stats. X取上下文对象() context.Context // See Core.GetCtx. X取Core对象() *X结构_Core // See Core.GetCore X底层取数据库安全字符() (charLeft string, charRight string) // See Core.GetChars. X取表名称数组(ctx context.Context, schema ...string) (tables []string, err error) // 参见 Core.Tables。驱动程序必须实现此函数。 md5:d7f231f6b59af607 X取表字段信息Map(ctx context.Context, table string, schema ...string) (map[string]*X结构_TableField, error) // 参见 Core.TableFields。驱动程序必须实现此函数。 md5:657c24bb39017da1 X底层ConvertValueForField(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error) // 参见Core(ConvertValueForField). md5:cd3e4aabe989b5b0 X底层ConvertValueForLocal(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error) // 参见Core.ConvertValueForLocal. md5:c5ed8f55d002cc9b X底层CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue interface{}) (X类型_LocalType, error) // 参见 Core.CheckLocalTypeForField. md5:9dab404962da3137 FormatUpsert(columns []string, list X类型_Map数组, option X结构_DoInsertOption) (string, error) // 参见Core.DoFormatUpsert. md5:e28a610aead90684 }
DB 定义 ORM 操作的接口。 md5:328f032182d38455
func X创建DB对象并按配置组 ¶
X创建DB对象并按配置组 根据指定的配置组名称创建并返回一个ORM对象,带有全局配置。 参数`name`指定了配置组的名称,默认为DefaultGroupName。 md5:a15dd30e999d29e5
type Driver ¶
type Driver interface { // New 为指定的数据库服务器创建并返回一个数据库对象。 md5:27bb5dc9ab2ddbdf New(core *X结构_Core, node *X结构_配置) (DB, error) }
Driver 是将 sql 驱动程序集成到 gdb 包的接口。 md5:739e8c3911355df2
type HookFuncDelete ¶
type HookFuncInsert ¶
type HookFuncSelect ¶
type HookFuncSelect func(ctx context.Context, in *X结构_HookSelectInput) (result X类型_Result, err error)
type HookFuncUpdate ¶
type Link ¶
type Link interface { QueryContext(ctx context.Context, sql string, args ...interface{}) (*sql.Rows, error) ExecContext(ctx context.Context, sql string, args ...interface{}) (sql.Result, error) PrepareContext(ctx context.Context, sql string) (*sql.Stmt, error) IsOnMaster() bool IsTransaction() bool }
Link 是一个常见的数据库函数包装接口。 注意,使用 `Link` 进行的任何操作都不会有 SQL 日志记录。 md5:d84360a9ae77a1de
type ModelHandler ¶
Handler calls each of `handlers` on current Model and returns a new Model. Handler calls each of `handlers` on current Model and returns a new Model. Handler calls each of `handlers` on current Model and returns a new Model. ModelHandler 是一个处理给定 Model 并返回一个自定义修改后的新 Model 的函数。 md5:a02af46ff8fb2568
type SoftTimeType ¶
type SoftTimeType int
SoftTimeType自定义定义软时间字段类型。 md5:dac7cb3a21ca2d1d
const ( X常量_SoftTimeTypeAuto SoftTimeType = 0 // (默认)根据表字段类型自动检测字段类型。 md5:92b9309fac6f4d09 X常量_SoftTimeTypeTime SoftTimeType = 1 // 使用日期时间作为字段值。 md5:fb9be1cf84e4192e X常量_SoftTimeTypeTimestamp SoftTimeType = 2 // In unix seconds. X常量_SoftTimeTypeTimestampMilli SoftTimeType = 3 // In unix milliseconds. X常量_SoftTimeTypeTimestampMicro SoftTimeType = 4 // In unix microseconds. X常量_SoftTimeTypeTimestampNano SoftTimeType = 5 // In unix nanoseconds. )
type StatsItem ¶
type StatsItem interface { // Node 返回配置节点信息。 md5:868005c0df3fa483 Node() X结构_配置 // Stats 返回当前节点的连接状态统计信息。 md5:b497e68c5fce778b Stats() sql.DBStats }
StatsItem 定义了配置节点的统计信息。 md5:95acda1876ad44fa
type TX ¶
type TX interface { Link X设置上下文并取副本(ctx context.Context) TX X原生SQL(rawSql string, args ...interface{}) *X结构_Model X创建Model对象(tableNameQueryOrStruct ...interface{}) *X结构_Model X关联对象(object interface{}) *X结构_Model X事务开启() error X事务提交() error X事务回滚() error X事务(ctx context.Context, f func(ctx context.Context, tx TX) error) (err error) X原生SQL查询(sql string, args ...interface{}) (result X类型_Result, err error) X原生SQL执行(sql string, args ...interface{}) (sql.Result, error) X原生sql取参数预处理对象(sql string) (*X结构_Stmt, error) X原生SQL查询多条(sql string, args ...interface{}) (X类型_Result, error) X原生SQL查询单条(sql string, args ...interface{}) (X类型_Record, error) X原生SQL查询单条到结构(obj interface{}, sql string, args ...interface{}) error X原生SQL查询到结构数组(objPointerSlice interface{}, sql string, args ...interface{}) error X原生SQL查询到结构(pointer interface{}, sql string, args ...interface{}) error X原生SQL查询字段值(sql string, args ...interface{}) (X类型_Value, error) X原生SQL查询字段计数(sql string, args ...interface{}) (int64, error) X插入(table string, data interface{}, batch ...int) (sql.Result, error) X插入并跳过已存在(table string, data interface{}, batch ...int) (sql.Result, error) X插入并取ID(table string, data interface{}, batch ...int) (int64, error) X插入并替换已存在(table string, data interface{}, batch ...int) (sql.Result, error) X插入并更新已存在(table string, data interface{}, batch ...int) (sql.Result, error) X更新(table string, data interface{}, condition interface{}, args ...interface{}) (sql.Result, error) X删除(table string, condition interface{}, args ...interface{}) (sql.Result, error) X取上下文对象() context.Context X取DB对象() DB X底层取事务对象() *sql.Tx X是否已关闭() bool X保存事务点(point string) error X回滚事务点(point string) error }
TX 定义 ORM 事务操作的接口。 md5:d71a7d0434928cac
type X类型_InsertOption ¶
type X类型_InsertOption int
const ( X常量_InsertOptionDefault X类型_InsertOption = iota X常量_InsertOptionReplace X常量_InsertOptionSave X常量_InsertOptionIgnore )
type X类型_LocalType ¶
type X类型_LocalType string
const ( X常量_LocalTypeUndefined X类型_LocalType = "" X常量_LocalTypeString X类型_LocalType = "string" X常量_LocalTypeDate X类型_LocalType = "date" X常量_LocalTypeDatetime X类型_LocalType = "datetime" X常量_LocalTypeInt X类型_LocalType = "int" X常量_LocalTypeUint X类型_LocalType = "uint" X常量_LocalTypeInt64 X类型_LocalType = "int64" X常量_LocalTypeUint64 X类型_LocalType = "uint64" X常量_LocalTypeIntSlice X类型_LocalType = "[]int" X常量_LocalTypeInt64Slice X类型_LocalType = "[]int64" X常量_LocalTypeUint64Slice X类型_LocalType = "[]uint64" X常量_LocalTypeInt64Bytes X类型_LocalType = "int64-bytes" X常量_LocalTypeUint64Bytes X类型_LocalType = "uint64-bytes" X常量_LocalTypeFloat32 X类型_LocalType = "float32" X常量_LocalTypeFloat64 X类型_LocalType = "float64" X常量_LocalTypeBytes X类型_LocalType = "[]byte" X常量_LocalTypeBool X类型_LocalType = "bool" X常量_LocalTypeJson X类型_LocalType = "json" X常量_LocalTypeJsonb X类型_LocalType = "jsonb" )
type X类型_Map ¶
type X类型_Map = map[string]interface{} // Map是map[string]interface{}的别名,这是最常用的映射类型。 md5:d30ae3cb84b9285e
type X类型_Record ¶
func (X类型_Record) X取Map ¶
func (r X类型_Record) X取Map() X类型_Map
X取Map 将 `r` 转换为 map[string]interface{} 类型。 md5:5b4502a5f29602f9
func (X类型_Record) X取Map类 ¶
func (r X类型_Record) X取Map类() *gmap.X结构_StrAnyMap
X取Map类将`r`转换为gmap。 md5:573ff0b484a9573f
func (X类型_Record) X取json ¶
func (r X类型_Record) X取json() string
X取json 将 `r` 转换为JSON格式的内容。 md5:60a0626b0a333d14
func (X类型_Record) X取xml ¶
func (r X类型_Record) X取xml(根标记 ...string) string
X取xml 将 `r` 转换为 XML 格式的内容。 md5:31a335fedb874d26
func (X类型_Record) X取结构 ¶
func (r X类型_Record) X取结构(变量指针 interface{}) error
X取结构 将 `r` 转换为结构体。 注意参数 `pointer` 应为 *struct 或 **struct 类型。
注意,如果 `r` 为空,它将返回 sql.ErrNoRows。 md5:9ad6d688dbdddb25
func (X类型_Record) X是否为空 ¶
func (r X类型_Record) X是否为空() bool
X是否为空 检查 `r` 是否为空,然后返回结果。 md5:4ee28a47e769cceb
type X类型_Result ¶
type X类型_Result []X类型_Record // Result 是行记录数组。 md5:cfc50f7c3d051e4e
func (X类型_Result) RecordKeyInt ¶
func (r X类型_Result) RecordKeyInt(key string) map[int]X类型_Record
RecordKeyInt 将 `r` 转换为一个映射[int]Record,其中键由 `key` 指定。 md5:0ebe0554d495cbae
func (X类型_Result) RecordKeyStr ¶
func (r X类型_Result) RecordKeyStr(key string) map[string]X类型_Record
RecordKeyStr 将 `r` 转换为一个 map[string]Record,其中的键由 `key` 指定。 md5:6eaa1193e5507d8a
func (X类型_Result) RecordKeyUint ¶
func (r X类型_Result) RecordKeyUint(key string) map[uint]X类型_Record
RecordKeyUint 将 `r` 转换为一个以指定的 `key` 作为键的 [uint]Record 映射。 md5:26ce469215f5d9c2
func (X类型_Result) X分割 ¶
func (r X类型_Result) X分割(数量 int) []X类型_Result
X分割 将一个 Result 分割成多个 Result, 每个数组的大小由 `size` 决定。 最后一块可能包含少于 size 个元素。 md5:e1e9bbb7e5ba1969
func (X类型_Result) X取Map数组 ¶
func (r X类型_Result) X取Map数组() X类型_Map数组
X取Map数组 将 `r` 转换为一个 X取Map数组。 md5:ee79a42f10af264e
func (X类型_Result) X取json ¶
func (r X类型_Result) X取json() string
X取json 将 `r` 转换为JSON格式的内容。 md5:60a0626b0a333d14
func (X类型_Result) X取xml ¶
func (r X类型_Result) X取xml(根标记 ...string) string
X取xml 将 `r` 转换为 XML 格式的内容。 md5:31a335fedb874d26
func (X类型_Result) X取字段MapInt ¶
func (r X类型_Result) X取字段MapInt(字段名称 string) map[int]X类型_Map
X取字段MapInt 将 `r` 转换为一个 map[int]Map,其中的键由 `key` 指定。 md5:2c63f4f80e8a0e1b
func (X类型_Result) X取字段MapStr ¶
func (r X类型_Result) X取字段MapStr(字段名称 string) map[string]X类型_Map
X取字段MapStr 将 `r` 转换为一个键为指定字符串的 map[string]Map。 md5:43bb233c139ab262
func (X类型_Result) X取字段MapUint ¶
func (r X类型_Result) X取字段MapUint(字段名称 string) map[uint]X类型_Map
X取字段MapUint 将 `r` 转换为一个 map,其中的键是通过 `key` 指定的 uint 类型。 md5:0597073b149b7e00
func (X类型_Result) X取字段Map泛型类 ¶
func (r X类型_Result) X取字段Map泛型类(字段名称 string) map[string]X类型_Value
X取字段Map泛型类 将 `r` 转换为一个 map[string]Value,其中的键由 `key` 指定。 注意,项目值可能为切片类型。 md5:0c805cb25cfa56ff
func (X类型_Result) X取字段数组 ¶
func (r X类型_Result) X取字段数组(字段名称 ...string) []X类型_Value
X取字段数组 用于获取并返回指定列的值作为切片。 参数 `field` 是可选的,如果列字段只有一个。如果未给定 `field` 参数,其默认值为 `Result` 中第一条项的第一个字段名。 md5:f3e0a3bab6043d80
func (X类型_Result) X取结构或结构数组并关联 ¶
func (r X类型_Result) X取结构或结构数组并关联(变量指针 interface{}, 绑定到结构属性名称 string, 结构属性关联 ...string) (错误 error)
X取结构或结构数组并关联 将 `r` 转换为包含其他复杂结构体属性的结构体切片。 注意,参数 `structSlicePointer` 应该是 *[]struct/*[]*struct 类型。
使用示例 1:普通属性结构体关系:
type EntityUser struct { Uid int Name string } type EntityUserDetail struct { Uid int Address string } type EntityUserScores struct { Id int Uid int Score int Course string } type Entity struct { User *EntityUser UserDetail *EntityUserDetail UserScores []*EntityUserScores } var users []*Entity X取结构或结构数组并关联(&users, "User") X取结构或结构数组并关联(&users, "User", "uid") X取结构或结构数组并关联(&users, "UserDetail", "User", "uid:Uid") X取结构或结构数组并关联(&users, "UserScores", "User", "uid:Uid") X取结构或结构数组并关联(&users, "UserScores", "User", "uid")
使用示例 2:嵌入属性结构体关系:
type EntityUser struct { Uid int Name string } type EntityUserDetail struct { Uid int Address string } type EntityUserScores struct { Id int Uid int Score int } type Entity struct { EntityUser UserDetail EntityUserDetail UserScores []EntityUserScores } var users []*Entity X取结构或结构数组并关联(&users) X取结构或结构数组并关联(&users, "UserDetail", "uid") X取结构或结构数组并关联(&users, "UserScores", "uid")
示例代码中的 "User/UserDetail/UserScores" 参数指定了当前结果将绑定的目标属性结构体。
示例代码中的 "uid" 是结果表字段名,而 "Uid" 是相关结构体属性名,而不是绑定目标的属性名。 在示例代码中,它是 "Entity" 实体的 "User" 的属性名 "Uid"。它会根据给定的 `relation` 参数自动计算 HasOne/HasMany 关系。
可参考示例或单元测试用例以更清晰地理解此函数的工作方式。 md5:d6997acc67d472c4
func (X类型_Result) X取结构数组 ¶
func (r X类型_Result) X取结构数组(变量指针 interface{}) (错误 error)
X取结构数组 将 `r` 转换为结构体切片。 注意参数 `pointer` 的类型应该是 `*[]struct` 或 `*[]*struct`。 md5:fef766b4997dca03
func (X类型_Result) X弃用_Size ¶
func (r X类型_Result) X弃用_Size() int
X弃用_Size 是函数 Len 的别名。 md5:4cfc93cb64eff9b5
func (X类型_Result) X是否为空 ¶
func (r X类型_Result) X是否为空() bool
X是否为空 检查 `r` 是否为空,然后返回结果。 md5:4ee28a47e769cceb
type X类型_SqlType ¶
type X类型_SqlType string
const ( X常量_SqlTypeBegin X类型_SqlType = "DB.Begin" X常量_SqlTypeTXCommit X类型_SqlType = "TX.Commit" X常量_SqlTypeTXRollback X类型_SqlType = "TX.Rollback" X常量_SqlTypeExecContext X类型_SqlType = "DB.ExecContext" X常量_SqlTypeQueryContext X类型_SqlType = "DB.QueryContext" X常量_SqlTypePrepareContext X类型_SqlType = "DB.PrepareContext" X常量_SqlTypeStmtExecContext X类型_SqlType = "DB.Statement.ExecContext" X常量_SqlTypeStmtQueryContext X类型_SqlType = "DB.Statement.QueryContext" X常量_SqlTypeStmtQueryRowContext X类型_SqlType = "DB.Statement.QueryRowContext" )
type X结构_CacheOption ¶
type X结构_CacheOption struct { // X时长 是缓存的过期时间。 // 如果参数 `X时长` 小于 0,表示使用给定的 `Name` 清除缓存。 // 如果参数 `X时长` 等于 0,表示永不过期。 // 如果参数 `X时长` 大于 0,表示在 `X时长` 秒后过期。 // md5:28707300732ac411 X时长 time.Duration // X名称 是一个可选的唯一名称,用于标识缓存。 // 通过 X名称 可以将一个名称与缓存绑定,这意味着您之后可以根据指定的名称来控制该缓存, // 例如更改缓存的 `持续时间` 或者清除指定名称的缓存。 // md5:8c2eeafa42d36067 X名称 string // 强制缓存查询结果,无论结果是否为nil。 // 这用于防止缓存穿透。 // md5:78fc7d8520d64954 X强制缓存 bool }
X结构_CacheOption是查询中用于模型缓存控制的选项。 md5:8a833b8335c45455
type X结构_CatchSQLManager ¶
type X结构_Core ¶
type X结构_Core struct {
// contains filtered or unexported fields
}
X结构_Core 是数据库管理的基础结构。 md5:9f4e8f0e026a368e
func (*X结构_Core) FormatUpsert ¶
func (c *X结构_Core) FormatUpsert(columns []string, list X类型_Map数组, option X结构_DoInsertOption) (string, error)
FormatUpsert 格式化并返回用于 UPSERT 语句的 SQL 子句部分。 在默认实现中,此函数执行类似 MySQL 的 UPSERT 语句: `INSERT INTO ... ON DUPLICATE KEY UPDATE x=VALUES(z),m=VALUES(y)...` md5:c1c6d7b14661682b
func (*X结构_Core) IsSoftCreatedFieldName ¶
IsSoftCreatedFieldName 检查并返回给定字段名是否为自动填充的创建时间。 md5:f4c7129bbccec8aa
func (X结构_Core) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口的MarshalJSON方法。它只是返回指针地址。
注意,这个接口主要是为了解决 Golang 版本小于 v1.14 时的json无限循环bug而实现的。 md5:1b2346be8e04b5fa
func (*X结构_Core) X事务 ¶
X事务 包装了使用函数 `f` 执行的事务逻辑。 如果函数 `f` 返回非空错误,它将回滚事务并返回该错误。如果函数 `f` 返回 nil,它将提交事务并返回 nil。
注意,在函数 `f` 中不应手动提交或回滚事务,因为这些操作将由这个函数自动处理。 md5:8906440d4dbbef1f
func (*X结构_Core) X事务开启 ¶
X事务开启 启动并返回事务对象。 如果不再使用事务,你应该调用事务对象的Commit或Rollback方法。 Commit或Rollback方法也会自动关闭事务。 md5:cca0e58680665343
func (*X结构_Core) X关闭数据库 ¶
X关闭数据库 方法关闭数据库并阻止新的查询开始。 随后,X关闭数据库 会等待所有已在服务器上开始处理的查询完成。
关闭 DB 实例是很少见的操作,因为 DB 处理句柄设计为长生命周期的, 并且旨在多个 goroutine 间共享。 md5:39e5c90e1da0ee5e
func (*X结构_Core) X切换数据库 ¶
func (c *X结构_Core) X切换数据库(数据库名 string) *X结构_Schema
X切换数据库 创建并返回一个模式。 md5:2857e60cfa18e20e
func (*X结构_Core) X创建Model对象 ¶
X创建Model对象 根据给定的模式创建并返回一个新的ORM模型。 参数 `tableNameQueryOrStruct` 可以是多个表名,也可以是别名,例如:
- 模型名称: db.X创建Model对象("user") db.X创建Model对象("user u") db.X创建Model对象("user, user_detail") db.X创建Model对象("user u, user_detail ud")
- 带别名的模型名称: db.X创建Model对象("user", "u")
- 带子查询的模型名称: db.X创建Model对象("? AS a, ? AS b", subQuery1, subQuery2)
md5:add855a912a9b6ef
func (*X结构_Core) X删除 ¶
func (c *X结构_Core) X删除(上下文 context.Context, 表名称 string, 条件 interface{}, 参数 ...interface{}) (结果 sql.Result, 错误 error)
X删除 执行 "DELETE FROM ... " 语句针对该表。
`condition` 参数可以是字符串、映射、gmap、切片、结构体或指向结构体的指针等多种类型。 它常与参数 `args` 一起使用。 例如: "uid=10000", "uid", 10000 "money>? AND name like ?", 99999, "vip_%" "status IN (?)", g.Slice{1,2,3} "age IN(?,?)", 18, 50 User{ Id : 1, UserName : "john"}. md5:c6c87830434eba7d
func (*X结构_Core) X删除所有表查询缓存 ¶
X删除所有表查询缓存 从缓存中移除所有已缓存的SQL结果. md5:1cafe85ca7b9f62d
func (*X结构_Core) X删除表字段所有缓存 ¶
X删除表字段所有缓存 删除当前配置组中所有缓存的表字段。 md5:2b2f2ebba86cfda6
func (*X结构_Core) X原生SQL ¶
X原生SQL根据原始SQL(而不是表)创建并返回一个模型。示例:
db.X原生SQL("SELECT * FROM `user` WHERE `name` = ?", "john").Scan(&result)
md5:0865d39f2ab854cb
func (*X结构_Core) X原生SQL执行 ¶
func (c *X结构_Core) X原生SQL执行(上下文 context.Context, sql string, 参数 ...interface{}) (结果 sql.Result, 错误 error)
X原生SQL执行 将一个查询 SQL 执行到底层驱动并返回执行结果。它最常用于数据插入和更新。 md5:6f9ddc85964b9797
func (*X结构_Core) X原生SQL查询 ¶
func (c *X结构_Core) X原生SQL查询(上下文 context.Context, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
X原生SQL查询 向底层驱动提交一个查询SQL并返回执行结果。 它最常用于数据查询。 md5:06bbbfc29aa3894b
func (*X结构_Core) X原生SQL查询到结构 ¶
func (c *X结构_Core) X原生SQL查询到结构(上下文 context.Context, 结构指针 interface{}, sql string, 参数 ...interface{}) error
X原生SQL查询到结构 从数据库查询一个或多个记录,并将它们转换为给定的结构体或结构体数组。
如果参数 `pointer` 是结构指针类型,它内部会调用 GetStruct 进行转换。如果参数 `pointer` 是切片类型,它内部会调用 GetStructs 进行转换。 md5:c1dbdab7a7c29c51
func (*X结构_Core) X原生SQL查询单条 ¶
func (c *X结构_Core) X原生SQL查询单条(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Record, error)
X原生SQL查询单条 从数据库中查询并返回一条记录。 md5:9552f7e095f58141
func (*X结构_Core) X原生SQL查询多条 ¶
func (c *X结构_Core) X原生SQL查询多条(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Result, error)
X原生SQL查询多条 从数据库中查询并返回数据记录。 md5:dfdcfddaa70ab1d4
func (*X结构_Core) X原生SQL查询字段值 ¶
func (c *X结构_Core) X原生SQL查询字段值(上下文 context.Context, sql string, 参数 ...interface{}) (X类型_Value, error)
X原生SQL查询字段值 从数据库查询并返回字段值。 SQL 应该只查询数据库中的一个字段,否则它将只返回结果中的一个字段。 md5:96794360fadbc288
func (*X结构_Core) X原生SQL查询字段计数 ¶
X原生SQL查询字段计数 从数据库中查询并返回计数。 md5:a8368d39f4a58979
func (*X结构_Core) X原生SQL查询数组 ¶
func (c *X结构_Core) X原生SQL查询数组(上下文 context.Context, sql string, 参数 ...interface{}) ([]X类型_Value, error)
X原生SQL查询数组 从数据库查询并返回数据值作为切片。 注意,如果结果中有多个列,它会随机返回一列的值。 md5:b81cd4c5e063a6f2
func (*X结构_Core) X原生sql取参数预处理对象 ¶
func (c *X结构_Core) X原生sql取参数预处理对象(上下文 context.Context, sql string, 是否主节点执行 ...bool) (*X结构_Stmt, error)
X原生sql取参数预处理对象 准备一个预编译语句,供后续查询或执行使用。 可以从返回的语句对象并发运行多个查询或执行。 当不再需要语句时,调用者必须调用 statement 的 Close 方法。
参数 `execOnMaster` 指定是否在主节点上执行 SQL,如果配置了主从复制,则在从节点上执行。 md5:639eebcae369b0a2
func (*X结构_Core) X原生sql记录到行记录数组对象 ¶
X原生sql记录到行记录数组对象 将底层的 sql.Rows 数据记录类型转换为 Result 类型。 md5:ae9065176ef07b2e
func (*X结构_Core) X取上下文对象 ¶
X取上下文对象 返回当前数据库的上下文。 如果之前没有设置上下文,则返回 `context.Background()`。 md5:9b56f79a5eaa891e
func (*X结构_Core) X取主节点对象 ¶
X取主节点对象 如果配置了主从节点,则创建并返回一个与主节点的连接。 如果未配置主从节点,则返回默认连接。 md5:0bd77b596cdae9a3
func (*X结构_Core) X取字段信息对象 ¶
func (c *X结构_Core) X取字段信息对象(上下文 context.Context, 字段名称, 表名称, 数据库名称 string) *X结构_TableField
X取字段信息对象 通过字段名获取并返回该字段的类型对象。 md5:eeebff59dbaf1064
func (*X结构_Core) X取数据库链接对象 ¶
X取数据库链接对象 创建并返回底层数据库链接对象,并进行事务检查。 参数 `master` 指定在配置了主从的情况下是否使用主节点。 md5:51315fe7b2e9a929
func (*X结构_Core) X取表字段信息Map ¶
func (c *X结构_Core) X取表字段信息Map(上下文 context.Context, 表名称 string, schema ...string) (字段信息Map map[string]*X结构_TableField, 错误 error)
X取表字段信息Map 获取并返回当前模式指定表的字段信息。
参数 `link` 是可选的,如果为 nil,则自动获取一个原始 SQL 连接,用于执行必要的 SQL 查询。
它返回一个包含字段名及其对应字段的映射。由于映射是无序的,TableField 结构体有一个 "Index" 字段,标记其在字段中的顺序。
该方法使用缓存功能来提高性能,直到进程重启,缓存永不过期。 md5:c844572d5210b35e
func (*X结构_Core) X多表去重查询 ¶
X多表去重查询 执行 "(SELECT xxx FROM xxx) UNION (SELECT xxx FROM xxx) ..." 语句。 md5:6a2f9809c172cb31
func (*X结构_Core) X多表查询 ¶
X多表查询 生成 "(SELECT xxx FROM xxx) UNION ALL (SELECT xxx FROM xxx) ... " 语句。 md5:5a15c8720fcb152f
func (*X结构_Core) X底层CheckLocalTypeForField ¶
func (c *X结构_Core) X底层CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue interface{}) (X类型_LocalType, error)
X底层CheckLocalTypeForField 检查并返回与给定数据库类型相对应的本地类型。 md5:d3191e6393b7e531
func (*X结构_Core) X底层ConvertDataForRecord ¶
func (c *X结构_Core) X底层ConvertDataForRecord(上下文 context.Context, 值 interface{}, 表名称 string) (map[string]interface{}, error)
X底层ConvertDataForRecord 是一个非常重要的函数,用于将任何数据转换为 以便将其作为记录插入到表或集合中。
参数 `value` 应为 *map/map/*struct/struct 类型。 对于结构体,它支持嵌入式结构体定义。 md5:27b867ec3a1c3c1d
func (*X结构_Core) X底层ConvertValueForField ¶
func (c *X结构_Core) X底层ConvertValueForField(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error)
X底层ConvertValueForField 将值转换为记录字段的类型。 参数 `fieldType` 是目标记录字段。 参数 `fieldValue` 是要写入记录字段的值。 md5:196c02c9f6cf3380
func (*X结构_Core) X底层ConvertValueForLocal ¶
func (c *X结构_Core) X底层ConvertValueForLocal( ctx context.Context, fieldType string, fieldValue interface{}, ) (interface{}, error)
X底层ConvertValueForLocal 根据从数据库中获取的字段类型名称,将值转换为Go语言中的本地类型。 参数 `fieldType` 为小写格式,例如: `float(5,2)`,`unsigned double(5,2)`,`decimal(10,2)`,`char(45)`,`varchar(100)` 等。 md5:7e1ede2b68158e31
func (*X结构_Core) X底层DoCommit ¶
func (c *X结构_Core) X底层DoCommit(ctx context.Context, in X结构_DoCommitInput) (out X结构_DoCommitOutput, err error)
X底层DoCommit 将当前SQL和参数提交给底层SQL驱动程序。 md5:7cf9b1f6f4d9d2cb
func (*X结构_Core) X底层DoFilter ¶
func (c *X结构_Core) X底层DoFilter(ctx context.Context, link Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error)
X底层DoFilter 是一个钩子函数,它在 SQL 语句及其参数提交给底层驱动之前进行过滤。 参数 `link` 指定当前数据库连接的操作对象。在 SQL 语句 `sql` 及其参数 `args` 被提交给驱动之前,您可以根据需要随意修改它们。 md5:41118fbc4e6c5562
func (*X结构_Core) X底层MasterLink ¶
X底层MasterLink 类似于函数 Master,但增加了 `schema` 参数,用于指定连接的模式。 这个函数主要用于内部使用。同时也参考 Master 函数。 md5:ae74b996555aea95
func (*X结构_Core) X底层QuoteString ¶
X底层QuoteString 使用引号字符对字符串进行引用。例如这样的字符串: "user", "user u", "user,user_detail", "user u, user_detail ut", "u.id asc".
`string` 的含义可以理解为作为包含列名的语句字符串的一部分。 md5:09c5263950e9ed1a
func (*X结构_Core) X底层QuoteWord ¶
X底层QuoteWord 检查给定的字符串 `s` 是否为一个单词, 如果是,它将使用数据库的安全字符对 `s` 进行转义,并返回带引号的字符串;否则,返回原始字符串不做任何更改。
可以认为一个 `word` 表示列名。 md5:71291615d7bcffe0
func (*X结构_Core) X底层SlaveLink ¶
X底层SlaveLink 行为类似于 Slave 函数,但增加了 `schema` 参数,用于指定连接的模式。它主要用于内部使用。 参阅 Slave。 md5:8a8929395882c04a
func (*X结构_Core) X底层_GetIgnoreResultFromCtx ¶
func (*X结构_Core) X底层_InjectIgnoreResult ¶
func (*X结构_Core) X底层删除 ¶
func (c *X结构_Core) X底层删除(上下文 context.Context, 链接 Link, 表名称 string, 条件 string, 参数 ...interface{}) (结果 sql.Result, 错误 error)
X底层删除 对表执行 "DELETE FROM ..." 语句。 此函数通常用于自定义接口定义,无需手动调用。 md5:f902004d44b55d73
func (*X结构_Core) X底层原生SQL执行 ¶
func (c *X结构_Core) X底层原生SQL执行(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 sql.Result, 错误 error)
X底层原生SQL执行 通过给定的链接对象将 sql 字符串及其参数提交到底层驱动,并返回执行结果。 md5:947bd2b83e751e10
func (*X结构_Core) X底层原生SQL查询 ¶
func (c *X结构_Core) X底层原生SQL查询(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
X底层原生SQL查询 通过给定的链接对象将SQL字符串及其参数提交给底层驱动,并返回执行结果。 md5:af7bdcd1a2074bc0
func (*X结构_Core) X底层原生sql参数预处理对象 ¶
func (c *X结构_Core) X底层原生sql参数预处理对象(上下文 context.Context, 链接 Link, sql string) (参数预处理 *X结构_Stmt, 错误 error)
X底层原生sql参数预处理对象 会调用给定链接对象上的prepare函数,并返回语句对象。 md5:bae03ede256987bd
func (*X结构_Core) X底层取数据库安全字符 ¶
X底层取数据库安全字符 返回当前数据库的安全字符。在默认情况下,它不执行任何操作。 md5:681b4cc93b5adecd
func (*X结构_Core) X底层插入 ¶
func (c *X结构_Core) X底层插入(上下文 context.Context, 链接 Link, 表名称 string, list X类型_Map数组, option X结构_DoInsertOption) (result sql.Result, err error)
X底层插入 函数用于插入或更新给定表的数据。 这个函数通常用于自定义接口定义,不需要手动调用。 参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。 示例: Data(g.Map{"uid": 10000, "name":"john"}) Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"}})
参数 `option` 的值如下: InsertOptionDefault:仅插入,如果数据中包含唯一键或主键,会返回错误; InsertOptionReplace:如果数据中包含唯一键或主键,会先从表中删除再插入新的记录; InsertOptionSave: 如果数据中包含唯一键或主键,会进行更新,否则插入新记录; InsertOptionIgnore: 如果数据中包含唯一键或主键,忽略插入操作。 md5:e9554638335c9c80
func (*X结构_Core) X底层更新 ¶
func (c *X结构_Core) X底层更新(上下文 context.Context, 链接 Link, 表名称 string, 值 interface{}, 条件 string, 参数 ...interface{}) (result sql.Result, err error)
X底层更新 执行针对表的 "UPDATE ... " 语句。 这个函数通常用于自定义接口定义,一般不需要手动调用。 md5:6d7e08b57dd59a0b
func (*X结构_Core) X底层查询 ¶
func (c *X结构_Core) X底层查询(上下文 context.Context, 链接 Link, sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
X底层查询 从数据库查询并返回数据记录。 md5:82b06146b8d539d1
func (*X结构_Core) X底层添加前缀字符和引用字符 ¶
X底层添加前缀字符和引用字符 为表名添加前缀字符串并包围引号。 它可以处理如下形式的表字符串: "user", "user u", "user,user_detail", "user u, user_detail ut", "user as u, user_detail as ut".
请注意,此函数会自动检查表前缀是否已经添加, 如果是,则不对表名做任何处理,否则会在表名前添加前缀。 md5:46ab3c3833cc0124
func (*X结构_Core) X插入 ¶
func (c *X结构_Core) X插入(上下文 context.Context, 表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
X插入 执行 "INSERT INTO..." 语句来操作表。 如果表中已经存在数据的唯一记录,它会返回错误。
参数 `data` 可以是 map、gmap、struct、*struct、[]map 或 []struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
参数 `batch` 在给定数据为切片时,指定批量操作的次数。 md5:fd75d343f485b8dc
func (*X结构_Core) X插入并取ID ¶
func (c *X结构_Core) X插入并取ID(上下文 context.Context, 表名称 string, 值 interface{}, 批量操作行数 ...int) (int64, error)
X插入并取ID 执行插入操作,并返回自动生成的最后一个插入id。 md5:8d00b40a35fa48a5
func (*X结构_Core) X插入并更新已存在 ¶
func (c *X结构_Core) X插入并更新已存在(上下文 context.Context, 表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
X插入并更新已存在 执行 "INSERT INTO ... ON DUPLICATE KEY UPDATE..." 语句来操作表。 如果保存的数据中存在主键或唯一索引,它将更新记录;否则,将在表中插入新记录。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
如果给定的数据是切片类型,它将进行批量保存。可选参数 `batch` 指定了批量操作的次数。 md5:c76721f5e0b01424
func (*X结构_Core) X插入并替换已存在 ¶
func (c *X结构_Core) X插入并替换已存在(上下文 context.Context, 表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
X插入并替换已存在 用于执行针对该表的 "REPLACE INTO..." 语句。如果表中已经存在数据的唯一记录,它会删除该记录并插入新的。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。如果给定的数据是切片类型,它将进行批量替换,并可选地通过参数 `batch` 指定批量操作次数。 md5:69ecd0994eab5bbb
func (*X结构_Core) X插入并跳过已存在 ¶
func (c *X结构_Core) X插入并跳过已存在(上下文 context.Context, 表名称 string, 值 interface{}, 批量操作行数 ...int) (sql.Result, error)
X插入并跳过已存在 执行 "INSERT IGNORE INTO ..." 语句针对该表。 如果表中已存在该数据的唯一记录,则忽略插入操作。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"})
当给定的数据为切片时,参数 `batch` 指定批处理操作的计数。 md5:49f76901041c9819
func (*X结构_Core) X更新 ¶
func (c *X结构_Core) X更新(上下文 context.Context, 表名称 string, 数据 interface{}, 条件 interface{}, 参数 ...interface{}) (sql.Result, error)
X更新 执行表的 "UPDATE ... " 语句。
参数 `data` 可以是字符串、映射、gmap、结构体或指向结构体的指针等类型。 例如:"uid=10000", "uid", 10000, g.Map{"uid": 10000, "name":"john"}
参数 `condition` 也可以是字符串、映射、gmap、切片或结构体及指向结构体的指针等类型。 常与参数 `args` 配合使用。 例如: "uid=10000", "uid", 10000 "money>? AND name like ?", 99999, "vip_%" "status IN (?)", g.Slice{1,2,3} "age IN(?,?)", 18, 50 User{ Id : 1, UserName : "john"}. md5:8651eb1bd7e10da0
func (*X结构_Core) X格式化Sql ¶
X格式化Sql 在执行SQL之前格式化SQL字符串及其参数。 在SQL执行过程中,内部的handleArguments函数可能会被调用两次, 但请不必担心,这是安全且高效的。 md5:73af1c35794cea21
func (*X结构_Core) X设置上下文并取副本 ¶
X设置上下文并取副本是一个链式函数,它创建并返回一个新的DB对象,它是当前DB对象的浅拷贝,并且包含了给定的上下文。 注意,这个返回的DB对象只能使用一次,所以不要将其分配给全局变量或长期使用的包变量。 md5:9dfddec16d5df9f5
func (*X结构_Core) X设置最大打开连接数 ¶
X设置最大打开连接数 设置到数据库的最大打开连接数。
如果 MaxIdleConns 大于 0,并且新的 MaxOpenConns 小于 MaxIdleConns,那么 MaxIdleConns 将被调整为与新的 MaxOpenConns 限制相匹配。
如果 n 小于或等于 0,则没有对打开连接数的限制。默认值为 0(无限制)。 md5:e8cfc3ecf7f5887e
func (*X结构_Core) X设置最大空闲时长 ¶
X设置最大空闲时长 设置连接可被重用的最大时间。
过期的连接可能会在被重用前被惰性关闭。
如果 d <= 0,则连接不会因为超时而被关闭。 md5:f8d0da250f6387ba
func (*X结构_Core) X设置最大闲置连接数 ¶
X设置最大闲置连接数 设置空闲连接池中的最大连接数。
如果 MaxOpenConns 大于 0 但小于新的 MaxIdleConns,那么新的 MaxIdleConns 将被调整为与 MaxOpenConns 的限制相匹配。
如果 n 小于或等于 0,则不保留任何空闲连接。
当前默认的最大空闲连接数为 2。这可能会在未来的版本中改变。 md5:7d6f4079c0bfc25f
type X结构_Counter ¶
X结构_Counter 是更新计数的类型。 md5:d05ba3f2911b8013
type X结构_DoCommitInput ¶
type X结构_DoCommitInput struct { Db *sql.DB Tx *sql.Tx Stmt *sql.Stmt Link Link Sql string Args []interface{} Type X类型_SqlType IsTransaction bool }
X结构_DoCommitInput是DoCommit函数的输入参数。 md5:151d182ffc05e6f3
type X结构_DoCommitOutput ¶
type X结构_DoCommitOutput struct { Result sql.Result // Result 是执行语句的结果。 md5:92181818237c3bdd X行记录数组 []X类型_Record // Records 是查询语句的结果。 md5:3ab79979d5bb7a15 X参数预处理 *X结构_Stmt // Stmt是Prepare的结果,是一个Statement对象。 md5:f7d8689435820710 Tx TX // Tx是Begin操作的结果交易对象。 md5:388468f78948bf40 X底层结果 interface{} // RawResult 是底层结果,可能是 sql.Result/*sql.Rows/*sql.Row。 md5:8f6721571bd4ebc3 }
X结构_DoCommitOutput是DoCommit函数的输出参数。 md5:bb154a9d2f960894
type X结构_DoInsertOption ¶
type X结构_DoInsertOption struct { OnDuplicateStr string // 自定义的`on duplicated`语句字符串。 md5:1076eb09195a063c OnDuplicateMap map[string]interface{} // 从`OnDuplicateEx`函数中自定义的键值映射,用于`on duplicated`语句。 md5:11d4cf3d337093bb OnConflict []string // 自定义的更新或插入语句中的冲突键,如果数据库需要的话。 md5:9f554ee78fb66a28 InsertOption X类型_InsertOption // 在常量值中插入操作。 md5:e5ca1b47e1d66f7a BatchCount int // 批量插入的批次计数。 md5:015bd9ee24bd1f5c }
X结构_DoInsertOption是用于DoInsert函数的输入结构体。 md5:de18cdcf6449aa9a
type X结构_DriverDefault ¶
type X结构_DriverDefault struct {
*X结构_Core
}
X结构_DriverDefault是MySQL数据库的默认驱动,它什么都不做。 md5:c3fc81ab467241cd
func (*X结构_DriverDefault) New ¶
func (d *X结构_DriverDefault) New(core *X结构_Core, node *X结构_配置) (DB, error)
New 创建并返回一个针对 MySQL 的数据库对象。它实现了 gdb.Driver 接口,以便于额外的数据库驱动程序安装。 md5:e61df629828efeff
func (*X结构_DriverDefault) X向主节点发送心跳 ¶
func (d *X结构_DriverDefault) X向主节点发送心跳() error
X向主节点发送心跳 向主节点发送请求以检查身份验证或保持连接活动。 md5:47a7df55cbee8583
func (*X结构_DriverDefault) X向从节点发送心跳 ¶
func (d *X结构_DriverDefault) X向从节点发送心跳() error
X向从节点发送心跳 调用ping命令检查从节点的认证或者维持连接。 md5:62272b38d874eda6
type X结构_DriverWrapper ¶
type X结构_DriverWrapper struct {
// contains filtered or unexported fields
}
X结构_DriverWrapper是一个驱动程序包装器,用于通过嵌入式驱动程序扩展功能。 md5:7294ac58de5aa606
type X结构_DriverWrapperDB ¶
type X结构_DriverWrapperDB struct {
DB
}
X结构_DriverWrapperDB是一个DB包装器,用于通过嵌入式DB扩展功能。 md5:a926644143c69c76
func (*X结构_DriverWrapperDB) X取表名称数组 ¶
func (d *X结构_DriverWrapperDB) X取表名称数组(上下文 context.Context, schema ...string) (表名称数组 []string, 错误 error)
X取表名称数组 获取并返回当前模式下的表格列表。 主要用于命令行工具链,用于自动生成模型。 md5:bce161ba95454bf5
func (*X结构_DriverWrapperDB) X取表字段信息Map ¶
func (d *X结构_DriverWrapperDB) X取表字段信息Map( ctx context.Context, table string, schema ...string, ) (fields map[string]*X结构_TableField, err error)
X取表字段信息Map 获取并返回当前模式指定表的字段信息。
参数 `link` 是可选的,如果为 nil,则自动获取一个原始 SQL 连接,用于执行必要的 SQL 查询。
它返回一个包含字段名及其对应字段的映射。由于映射是无序的,TableField 结构体有一个 "Index" 字段,标记其在字段中的顺序。
该方法使用缓存功能来提高性能,直到进程重启,缓存永不过期。 md5:c844572d5210b35e
func (*X结构_DriverWrapperDB) X底层Open ¶
func (d *X结构_DriverWrapperDB) X底层Open(node *X结构_配置) (db *sql.DB, err error)
X底层Open 创建并返回一个用于pgsql的底层sql.DB对象。 参考链接:https://pkg.go.dev/github.com/lib/pq md5:9889bcb899248a2b
func (*X结构_DriverWrapperDB) X底层插入 ¶
func (d *X结构_DriverWrapperDB) X底层插入(上下文 context.Context, 链接 Link, 表名称 string, list X类型_Map数组, option X结构_DoInsertOption) (result sql.Result, err error)
X底层插入 用于插入或更新给定表的数据。 此函数通常用于自定义接口定义,您无需手动调用。 参数 `data` 可以为 map/gmap/struct/*struct/[]map/[]struct 等类型。 例如: Data(g.Map{"uid": 10000, "name":"john"}) Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
参数 `option` 的值如下: InsertOptionDefault:仅插入,如果数据中包含唯一键或主键,则返回错误; InsertOptionReplace:如果数据中包含唯一键或主键,先从表中删除原有记录,再插入新记录; InsertOptionSave:如果数据中包含唯一键或主键,进行更新,否则插入新记录; InsertOptionIgnore:如果数据中包含唯一键或主键,忽略插入操作。 md5:9fab32fdc41df179
type X结构_HookDeleteInput ¶
type X结构_HookDeleteInput struct { Model *X结构_Model // 当前操作模型。 md5:d9c5abcf43d4a0c5 Table string // 将要使用的表名。更新此属性以更改目标表名。 md5:b5d4582f7fa65327 Schema string // 将要使用的模式名称。更新此属性以更改目标模式名称。 md5:40385c83e27c8a07 Condition string // 删除操作的WHERE条件字符串。 md5:63d65a2af6b3c2b9 Args []interface{} // sql占位符的参数。 md5:aed81f2b97f42d86 // contains filtered or unexported fields }
X结构_HookDeleteInput包含删除钩子操作的参数。 md5:f7d586e1f75c0a3e
type X结构_HookHandler ¶
type X结构_HookHandler struct { Select HookFuncSelect Insert HookFuncInsert Update HookFuncUpdate Delete HookFuncDelete }
X结构_HookHandler 管理Model支持的所有钩子函数。 md5:bc5db27f3bf00d12
type X结构_HookInsertInput ¶
type X结构_HookInsertInput struct { Model *X结构_Model // 当前操作模型。 md5:d9c5abcf43d4a0c5 Table string // 将要使用的表名。更新此属性以更改目标表名。 md5:b5d4582f7fa65327 Schema string // 将要使用的模式名称。更新此属性以更改目标模式名称。 md5:40385c83e27c8a07 Data X类型_Map数组 // 要插入/保存到表中的数据记录列表。 md5:af6867e8ee9b8dd5 Option X结构_DoInsertOption // 用于数据插入的额外选项。 md5:ffac0ff130d3b693 // contains filtered or unexported fields }
X结构_HookInsertInput 插入钩子操作的参数。 md5:76f9069cc685c571
type X结构_HookSelectInput ¶
type X结构_HookSelectInput struct { Model *X结构_Model // 当前操作模型。 md5:d9c5abcf43d4a0c5 Table string // 将要使用的表名。更新此属性以更改目标表名。 md5:b5d4582f7fa65327 Schema string // 将要使用的模式名称。更新此属性以更改目标模式名称。 md5:40385c83e27c8a07 Sql string // 将要提交的SQL字符串。 md5:7c6c74bdd4ed9bb2 Args []interface{} // The arguments of sql. // contains filtered or unexported fields }
X结构_HookSelectInput 存储选择操作的参数。 注意,COUNT 语句也会被此功能捕获,这通常对上层业务钩子处理程序不感兴趣。 md5:c5f22bccaae80481
func (*X结构_HookSelectInput) Next ¶
func (h *X结构_HookSelectInput) Next(上下文 context.Context) (行记录数组 X类型_Result, 错误 error)
Next 调用下一个钩子处理器。 md5:7348deede95e47b0
type X结构_HookUpdateInput ¶
type X结构_HookUpdateInput struct { Model *X结构_Model // 当前操作模型。 md5:d9c5abcf43d4a0c5 Table string // 将要使用的表名。更新此属性以更改目标表名。 md5:b5d4582f7fa65327 Schema string // 将要使用的模式名称。更新此属性以更改目标模式名称。 md5:40385c83e27c8a07 Data interface{} // `Data` 可以是类型:map[string]interface{} 或 string。你可以对 `Data` 进行类型断言。 md5:f92fddf82f17883a Condition string // 用于更新的条件字符串。 md5:4bcf07b70ed87d5a Args []interface{} // sql占位符的参数。 md5:aed81f2b97f42d86 // contains filtered or unexported fields }
X结构_HookUpdateInput 表示更新钩子操作的参数。 md5:a9d35fc8f42cd434
type X结构_Model ¶
type X结构_Model struct {
// contains filtered or unexported fields
}
X结构_Model是实现ORM DAO的核心结构体。 md5:7230072d015718fc
func (*X结构_Model) Hook ¶
func (m *X结构_Model) Hook(hook X结构_HookHandler) *X结构_Model
Hook 设置当前模型的钩子函数。 md5:a324f56d597fd873
func (*X结构_Model) Offset ¶
Offset 设置模型的“OFFSET”语句。它只对某些数据库(如 SQLServer、PostgreSQL 等)有意义。 md5:5a99cab6ce558c69
func (*X结构_Model) OnConflict ¶
OnConflict在列冲突时设置主键或索引。对于MySQL驱动程序来说,这通常是不必要的。 md5:30314cb75360b0e6
func (*X结构_Model) SoftTime ¶
func (m *X结构_Model) SoftTime(option X结构_SoftTimeOption) *X结构_Model
SoftTime 设置 SoftTimeOption 以自定义 Model 的软时间功能。 md5:6c4368abcd89e6b0
func (*X结构_Model) X事务 ¶
func (m *X结构_Model) X事务(上下文 context.Context, 回调函数 func(上下文 context.Context, tx TX) error) (错误 error)
X事务 包装了使用函数 `f` 执行的事务逻辑。 如果函数 `f` 返回非空错误,它将回滚事务并返回该错误。如果函数 `f` 返回 nil,它将提交事务并返回 nil。
注意,在函数 `f` 中不应手动提交或回滚事务,因为这些操作将由这个函数自动处理。 md5:8906440d4dbbef1f
func (*X结构_Model) X关联对象 ¶
X关联对象 创建并返回一个基于给定对象元数据的 ORM 模型。它还为给定的 `object` 启用模型关联操作功能。 可以多次调用此函数,以向模型中添加一个或多个对象,并启用它们的模式关联操作功能。 例如,如果给出的结构体定义如下:
```
type User struct { gmeta.Meta `orm:"table:user"` Id int `json:"id"` Name string `json:"name"` UserDetail *UserDetail `orm:"with:uid=id"` UserScores []*UserScores `orm:"with:uid=id"` }
```
我们可以通过以下方式在 `UserDetail` 和 `UserScores` 属性上启用模型关联操作:
``` db.X关联对象(User{}.UserDetail).X关联对象(User{}.UserScores).Scan(xxx) ```
或者:
``` db.X关联对象(UserDetail{}).X关联对象(UserScores{}).Scan(xxx) ```
或者:
``` db.X关联对象(UserDetail{}, UserScores{}).Scan(xxx) ``` md5:c9498702475d54a9
func (*X结构_Model) X内连接 ¶
X内连接 在模型上执行 "INNER JOIN ... ON ..." 语句。 参数 `table` 可以是需要连接的表及其连接条件,同时也可包含别名名称。
例如: Model("user").X内连接("user_detail", "user_detail.uid=user.uid") Model("user", "u").X内连接("user_detail", "ud", "ud.uid=u.uid") Model("user", "u").X内连接("SELECT xxx FROM xxx","a", "a.uid=u.uid") md5:eda419ad685c559d
func (*X结构_Model) X内连接带比较运算符 ¶
X内连接带比较运算符 执行 InnerJoin 操作。它指定了不同的字段和比较运算符。
例如: Model("user").X内连接带比较运算符("order", "id", "=", "user_id") Model("user").X内连接带比较运算符("order", "id", ">", "user_id") Model("user").X内连接带比较运算符("order", "id", "<", "user_id")
这段代码是在 Go 语言中定义了一个方法,用于在两个数据表之间执行内连接(InnerJoin),并允许用户指定连接的字段以及比较运算符。例如,`"user".X内连接带比较运算符("order", "id", "=", "user_id")` 表示连接 "user" 表和 "order" 表,通过 "id" 字段进行等号(=)匹配。其他示例展示了使用大于(>)和小于(<)运算符的情况。 md5:0499f4b5bbbc2016
func (*X结构_Model) X内连接相同字段 ¶
X内连接相同字段 的行为类似于 InnerJoin,但它使用的是具有`相同字段名`的两个表进行连接。
例如: Model("order").X内连接相同字段("user", "user_id") Model("order").X内连接相同字段("product", "product_id") md5:bdc954b5bcb8a9c5
func (*X结构_Model) X分割 ¶
func (m *X结构_Model) X分割(数量 int, 处理函数 ChunkHandler)
X分割 使用给定的 `size` 和 `handler` 函数来分块迭代查询结果。 md5:4c5d0d282b8e1fe4
func (*X结构_Model) X创建组合条件 ¶
func (m *X结构_Model) X创建组合条件() *X结构_WhereBuilder
X创建组合条件 创建并返回一个 WhereBuilder。请注意,X创建组合条件 是线程安全的。 md5:d2708a694ae36dfa
func (*X结构_Model) X删除 ¶
X删除 执行针对模型的 "DELETE FROM ... " 语句。 可选参数 `where` 与 Model.Where 函数的参数相同, 请参考 Model.Where 查看详细用法。 md5:efc496574e0829d8
func (*X结构_Model) X原生SQL ¶
X原生SQL 将当前模型设置为原始SQL模型。 示例:
db.X原生SQL("SELECT * FROM `user` WHERE `name` = ?", "john").Scan(&result)
参见 Core.X原生SQL。 md5:ced75308536ddfff
func (*X结构_Model) X取上下文对象 ¶
X取上下文对象返回当前Model的上下文。 如果之前没有设置上下文,则返回`context.Background()`。 md5:48edd9b438a38523
func (*X结构_Model) X取从节点对象 ¶
X取从节点对象 在 slave 节点上标记以下操作。 请注意,只有在配置了 slave 节点的情况下,此注释才有意义。 md5:3d6dbca5bafb9cdf
func (*X结构_Model) X取所有字段名称 ¶
X取所有字段名称 从表中检索并返回所有字段,以逗号分隔。 可选参数 `prefix` 指定每个字段的前缀,例如:X取所有字段名称("u.")。 md5:c76f2f45c8680a27
func (*X结构_Model) X取所有字段名称并排除 ¶
X取所有字段名称并排除 从表中获取并返回那些不在参数`fields`中的字段,这些字段通过逗号','连接。 参数`fields`指定了需要排除的字段。 可选参数`prefix`为每个字段指定前缀,例如:FieldsExStr("id", "u.")。 md5:57698a0c43f54ec9
func (*X结构_Model) X取表字段信息Map ¶
func (m *X结构_Model) X取表字段信息Map(表名称 string, schema ...string) (字段信息Map map[string]*X结构_TableField, 错误 error)
X取表字段信息Map 获取并返回当前模式下指定表的字段信息。
参见 DriverMysql.X取表字段信息Map。 md5:61e256ba53f813cb
func (*X结构_Model) X右连接 ¶
X右连接 执行 "RIGHT JOIN ... ON ..." 语句在模型上。 参数 `table` 可以是待连接的表及其连接条件, 也可以包含表的别名。
例如: Model("user").X右连接("user_detail", "user_detail.uid=user.uid") Model("user", "u").X右连接("user_detail", "ud", "ud.uid=u.uid") Model("user", "u").X右连接("SELECT xxx FROM xxx","a", "a.uid=u.uid") md5:dbab2528fb37c84e
func (*X结构_Model) X右连接带比较运算符 ¶
X右连接带比较运算符 执行右连接操作。它指定了不同的字段和比较运算符。
例如: User("user").X右连接带比较运算符("order", "id", "=", "user_id") User("user").X右连接带比较运算符("order", "id", ">", "user_id") User("user").X右连接带比较运算符("order", "id", "<", "user_id")
这里,`X右连接带比较运算符` 是一个 Go 代码中的函数,用于在查询数据库时执行右连接操作,并且允许用户自定义连接的字段和比较操作。第一个参数是模型名(如 "user"),接下来的参数包括要连接的表名、字段名以及连接条件(等于、大于或小于)。 md5:563f2b0f155fc829
func (*X结构_Model) X右连接相同字段 ¶
X右连接相同字段 执行右连接,但使用相同的字段名称连接两个表。
例如: Model("order").InnerJoinOnField("user", "user_id") Model("order").InnerJoinOnField("product", "product_id") md5:ac8281e2d383e3d6
func (*X结构_Model) X处理函数 ¶
func (m *X结构_Model) X处理函数(处理函数 ...ModelHandler) *X结构_Model
X处理函数 calls each of `handlers` on current Model and returns a new Model. X处理函数 calls each of `handlers` on current Model and returns a new Model. X处理函数 calls each of `handlers` on current Model and returns a new Model. X处理函数 calls each of `handlers` on current Model and returns a new Model. ModelHandler 是一个处理给定 Model 并返回一个自定义修改后的新 Model 的函数。 md5:a02af46ff8fb2568
func (*X结构_Model) X多表去重查询 ¶
X多表去重查询 为模型执行 "(SELECT xxx FROM xxx) UNION (SELECT xxx FROM xxx) ..." 语句。 md5:97431dccd533414e
func (*X结构_Model) X多表查询 ¶
X多表查询 对模型执行 "(SELECT xxx FROM xxx) UNION ALL (SELECT xxx FROM xxx) ..." 语句。 md5:d112aec0d1929661
func (*X结构_Model) X字段保留过滤 ¶
`X字段保留过滤` 方法将 `fieldNamesOrMapStruct` 添加到模型的operation字段中,多个字段使用字符`,`连接。 参数 `fieldNamesOrMapStruct` 可以是字符串、映射(map)、*map、结构体或*结构体类型。
示例: X字段保留过滤("id", "name", "age") X字段保留过滤([]string{"id", "name", "age"}) X字段保留过滤(map[string]interface{}{"id":1, "name":"john", "age":18}) X字段保留过滤(User{ Id: 1, Name: "john", Age: 18}) md5:21db86fe96babad2
func (*X结构_Model) X字段保留过滤并带前缀 ¶
X字段保留过滤并带前缀 作为 Fields 函数,但为每个字段添加额外的前缀。 md5:8a672048e8753526
func (*X结构_Model) X字段排除过滤 ¶
X字段排除过滤 将 `fieldNamesOrMapStruct` 追加到模型的操作排除字段中, 多个字段使用逗号 ',' 连接。 注意,此函数仅支持单表操作。 参数 `fieldNamesOrMapStruct` 可以是字符串类型、映射类型(map)、映射指针类型(*map)、结构体类型或结构体指针类型(*struct)。
参见 Fields。 md5:7b8ec243202549a8
func (*X结构_Model) X字段排除过滤并带前缀 ¶
X字段排除过滤并带前缀 函数与 FieldsEx 功能相似,但在每个字段前添加额外的前缀。 md5:66ba7040b83e6e81
func (*X结构_Model) X字段追加平均值 ¶
X字段追加平均值 将常用字段 `AVG(column)` 格式化并添加到模型的 select 字段中。 md5:0b09ffae1b0cbabe
func (*X结构_Model) X字段追加计数 ¶
X字段追加计数 将常用字段 `COUNT(column)` 格式化并添加到模型的 select 字段中。 md5:99439830c058a91f
func (*X结构_Model) X左连接 ¶
X左连接 在模型上执行 "LEFT JOIN ... ON ..." 语句。 参数 `table` 可以是连接的表及其连接条件,也可以包含其别名。
示例: Model("user").X左连接("user_detail", "user_detail.uid=user.uid") Model("user", "u").X左连接("user_detail", "ud", "ud.uid=u.uid") Model("user", "u").X左连接("SELECT xxx FROM xxx", "a", "a.uid=u.uid") md5:5f7464280da64004
func (*X结构_Model) X左连接带比较运算符 ¶
X左连接带比较运算符 执行类似于 LeftJoin 的操作,但允许指定不同的字段和比较运算符。
例如: Model("user").X左连接带比较运算符("order", "id", "=", "user_id") Model("user").X左连接带比较运算符("order", "id", ">", "user_id") Model("user").X左连接带比较运算符("order", "id", "<", "user_id") md5:90ce0e2226eb4b30
func (*X结构_Model) X左连接相同字段 ¶
X左连接相同字段 执行左连接,但使用两个表中的`相同字段名`进行连接。
例如: Model("order").X左连接相同字段("user", "user_id") Model("order").X左连接相同字段("product", "product_id") md5:5ace5bdef45c73d6
func (*X结构_Model) X底层QuoteWord ¶
X底层QuoteWord 检查给定的字符串 `s` 是否为一个单词, 如果是,它将使用数据库的安全字符对 `s` 进行转义,并返回带引号的字符串;否则,返回原始字符串不做任何更改。
可以认为一个 `word` 表示列名。 md5:71291615d7bcffe0
func (*X结构_Model) X排序 ¶
X排序 设置模型的 "ORDER BY" 语句。
示例: X排序("id desc") X排序("id", "desc"). X排序("id desc,name asc") X排序("id desc").X排序("name asc") X排序(gdb.Raw("field(id, 3,1,2)")) md5:41ff2d0293c241c6
func (*X结构_Model) X插入 ¶
X插入 为模型执行 "INSERT INTO ..." 语句。 可选参数 `data` 等同于 Model.Data 函数的参数,参见 Model.Data。 md5:9a6427cabf3ec194
func (*X结构_Model) X插入并更新已存在 ¶
X插入并更新已存在 执行 "INSERT INTO ... ON DUPLICATE KEY UPDATE..." 语句,针对指定的模型。 可选参数 `data` 与 Model.Data 函数的参数相同,请参阅 Model.Data。
如果保存的数据中包含主键或唯一索引,它将更新记录; 否则,它会向表中插入一条新记录。 md5:9d87bd779f8f5acd
func (*X结构_Model) X插入并替换已存在 ¶
X插入并替换已存在 执行 "REPLACE INTO ..." 语句用于模型。 可选参数 `data` 与 Model.Data 函数的参数相同, 请参阅 Model.Data。 md5:d5596c2470b6bcf4
func (*X结构_Model) X插入并跳过已存在 ¶
X插入并跳过已存在 为模型执行 "INSERT IGNORE INTO..." 语句。 可选参数 `data` 和 Model.Data 函数的参数相同,详情请参考 Model.Data。 md5:d6d8007d779bd324
func (*X结构_Model) X更新 ¶
X更新 为模型执行"UPDATE ... "语句。
如果提供了可选参数 `dataAndWhere`,则 dataAndWhere[0] 是更新的数据字段,dataAndWhere[1:] 被视为 WHERE 条件字段。同时参考 Model.Data 和 Model.Where 函数。 md5:06a16ce16f9da0c0
func (*X结构_Model) X条件 ¶
X条件 为构建器设置条件语句。参数 `where` 可以是 字符串/映射/gmap/切片/结构体/结构体指针等类型。注意,如果调用多次, 多个条件将使用 "AND" 连接成 WHERE 语句。 参见 WhereBuilder.X条件。 md5:d18e25934a430281
func (*X结构_Model) X条件NULL值 ¶
X条件NULL值构建`columns[0] IS NULL AND columns[1] IS NULL ...`语句。 参见WhereBuilder.X条件NULL值。 md5:af598d8379efcab6
func (*X结构_Model) X条件NULL值并带前缀 ¶
X条件NULL值并带前缀 用于构建 `prefix.columns[0] IS NULL AND prefix.columns[1] IS NULL ...` 的SQL语句。 参考 WhereBuilder.X条件NULL值并带前缀 方法。 md5:e66f4e8ba9e64abe
func (*X结构_Model) X条件不包含 ¶
X条件不包含构建`column NOT IN (in)`语句。 请参阅WhereBuilder.X条件不包含。 md5:4fbfcfa2b85a83d2
func (*X结构_Model) X条件不包含并带前缀 ¶
X条件不包含并带前缀 构建 `prefix.column NOT IN (in)` 语句。 参考 WhereBuilder.X条件不包含并带前缀。 md5:ae3cd87814389feb
func (*X结构_Model) X条件不等于并带前缀 ¶
X条件不等于并带前缀 构建 `prefix.column != value` 的语句。 参见 WhereBuilder.X条件不等于并带前缀 的用法。 md5:52ce1c05f4e382fb
func (*X结构_Model) X条件包含并带前缀 ¶
X条件包含并带前缀 构建 `prefix.column IN (in)` 语句。 参见 WhereBuilder.X条件包含并带前缀。 md5:21e5a1f77d32a6ce
func (*X结构_Model) X条件取范围 ¶
X条件取范围 用于构建 `column BETWEEN min AND max` 的语句。 参见 WhereBuilder.X条件取范围 的使用。 md5:88a499f60e180ae2
func (*X结构_Model) X条件取范围以外 ¶
X条件取范围以外 用于构建 `column NOT BETWEEN min AND max` 的SQL语句。 参见WhereBuilder.X条件取范围以外的用法。 md5:be0e739db028ee79
func (*X结构_Model) X条件取范围以外并带前缀 ¶
X条件取范围以外并带前缀构建`prefix.column NOT BETWEEN min AND max`语句。 参见WhereBuilder.X条件取范围以外并带前缀。 md5:2cfa2b60438f51a2
func (*X结构_Model) X条件取范围并带前缀 ¶
X条件取范围并带前缀构建`prefix.column BETWEEN min AND max`语句。 参见WhereBuilder.X条件取范围并带前缀。 md5:5bd292414bb58ab2
func (*X结构_Model) X条件大于并带前缀 ¶
X条件大于并带前缀 构建 `prefix.column > value` 的语句。 参见 WhereBuilder.X条件大于并带前缀 的用法。 md5:7bd6fca29c275204
func (*X结构_Model) X条件大于等于 ¶
X条件大于等于构建`column >= value`语句。 参见WhereBuilder.X条件大于等于。 md5:cd051232a4d3707c
func (*X结构_Model) X条件大于等于并带前缀 ¶
X条件大于等于并带前缀 构建 `prefix.column >= value` 语句。 参见 WhereBuilder.X条件大于等于并带前缀。 md5:f4256046c4ee0127
func (*X结构_Model) X条件小于 ¶
X条件小于 用于构建 `column < value` 的语句。 参见 WhereBuilder.X条件小于。 md5:16aa57cc63797f44
func (*X结构_Model) X条件小于并带前缀 ¶
X条件小于并带前缀构建`prefix.column < value`语句。 参考WhereBuilder.X条件小于并带前缀。 md5:772fb94f7bcccb22
func (*X结构_Model) X条件小于等于 ¶
X条件小于等于 构建 `column <= value` 条件语句。 参考 WhereBuilder.X条件小于等于。 md5:85440b32a52d1c2c
func (*X结构_Model) X条件小于等于并带前缀 ¶
X条件小于等于并带前缀构建`prefix.column <= value`语句。 参见WhereBuilder.X条件小于等于并带前缀。 md5:09fe8d74131bca96
func (*X结构_Model) X条件带前缀 ¶
X条件带前缀 的行为与 Where 相似,但它会为 where 语句中的每个字段添加前缀。 参考 WhereBuilder.X条件带前缀。 md5:857520a0e9f2f42c
func (*X结构_Model) X条件并识别主键 ¶
X条件并识别主键 的逻辑与 Model.Where 相同,但当参数 `where` 是一个单一的条件,如 int、string、float 或 slice 时,它会将条件视为主键值。也就是说,如果主键是 "id",并且给定的 `where` 参数为 "123",X条件并识别主键 函数会将条件解析为 "id=123",而 Model.Where 则会将条件视为字符串 "123"。 参阅 WhereBuilder.X条件并识别主键。 md5:13dc66b105f841e9
func (*X结构_Model) X条件或NULL值 ¶
X条件或NULL值 构建 `columns[0] IS NULL OR columns[1] IS NULL ...` 的 `OR` 条件语句。 参考 WhereBuilder.X条件或NULL值。 md5:66907cf860f22eff
func (*X结构_Model) X条件或NULL值并带前缀 ¶
X条件或NULL值并带前缀 用于在`OR`条件中构建 `prefix.columns[0] IS NULL OR prefix.columns[1] IS NULL ...` 的语句。 参考 WhereBuilder.X条件或NULL值并带前缀。 md5:526f8d0f44781d5f
func (*X结构_Model) X条件或不包含 ¶
X条件或不包含构建`column NOT IN (in)`语句。 参见WhereBuilder.X条件或不包含。 md5:22915d1ba70db001
func (*X结构_Model) X条件或不包含并带前缀 ¶
X条件或不包含并带前缀 用于构建 `prefix.column NOT IN (in)` 的SQL语句。 参见WhereBuilder中的X条件或不包含并带前缀方法。 md5:890322e319ab2ff8
func (*X结构_Model) X条件或不等于 ¶
X条件或不等于构建`column != value`语句。 参见WhereBuilder.X条件或不等于。 md5:076a864671142e49
func (*X结构_Model) X条件或不等于并带前缀 ¶
X条件或不等于并带前缀在`OR`条件下构建`prefix.column != value`语句。请参阅WhereBuilder.X条件或不等于并带前缀。 md5:46f5833fb4aa8a66
func (*X结构_Model) X条件或包含 ¶
X条件或包含在`OR`条件下构建`column IN (in)`语句。参见WhereBuilder.X条件或包含。 md5:fac500879081e3cc
func (*X结构_Model) X条件或包含并带前缀 ¶
X条件或包含并带前缀 用于构建 `OR` 条件下的 `prefix.column IN (in)` 语句。 参见 WhereBuilder.X条件或包含并带前缀 的用法。 md5:16a0a007f82dbf8e
func (*X结构_Model) X条件或取范围 ¶
X条件或取范围 构建在 `OR` 条件下的 `column BETWEEN min AND max` 语句。 参见 WhereBuilder.X条件或取范围 的用法。 md5:c9b005a18a1fb87e
func (*X结构_Model) X条件或取范围以外 ¶
X条件或取范围以外 用于构建 `column NOT BETWEEN min AND max` 的 SQL 语句,在 `OR` 条件下。 参见 WhereBuilder.X条件或取范围以外 的用法。 md5:e040a9f04b492725
func (*X结构_Model) X条件或取范围以外并带前缀 ¶
X条件或取范围以外并带前缀 在 `OR` 条件下构建 `prefix.column NOT BETWEEN min AND max` 语句。 参考 WhereBuilder.X条件或取范围以外并带前缀。 md5:a2c385cd5a8a13f7
func (*X结构_Model) X条件或取范围并带前缀 ¶
X条件或取范围并带前缀在`OR`条件下构建`prefix.column BETWEEN min AND max`语句。请参考WhereBuilder.X条件或取范围并带前缀。 md5:bcd63a0bb32b253d
func (*X结构_Model) X条件或大于 ¶
X条件或大于在`OR`条件下构建`column > value`语句。请参阅WhereBuilder.X条件或大于。 md5:5b5f0de728017e9e
func (*X结构_Model) X条件或大于并带前缀 ¶
X条件或大于并带前缀 构建在 `OR` 条件下的 `prefix.column > value` 语句。 参见 WhereBuilder.X条件或大于并带前缀 的用法。 md5:c2ab1e36dc3d561b
func (*X结构_Model) X条件或大于等于 ¶
X条件或大于等于在`OR`条件下构建`column >= value`语句。 参见WhereBuilder.X条件或大于等于。 md5:5e6ab2d7c60899f4
func (*X结构_Model) X条件或大于等于并带前缀 ¶
X条件或大于等于并带前缀 在 OR 条件中构建 `prefix.column >= value` 语句。 参考 WhereBuilder.X条件或大于等于并带前缀。 md5:a3ee1fcd237d45d6
func (*X结构_Model) X条件或小于 ¶
X条件或小于 在 `OR` 条件下构建 `column < value` 语句。 参见 WhereBuilder.X条件或小于。 md5:d9d4ee2080c8c040
func (*X结构_Model) X条件或小于并带前缀 ¶
X条件或小于并带前缀在"OR"条件下构建`prefix.column < value`语句。参阅WhereBuilder.X条件或小于并带前缀。 md5:0a8c07ff239fa7e7
func (*X结构_Model) X条件或小于等于 ¶
X条件或小于等于 在`OR`条件中构建 `column <= value` 的语句。 参考 WhereBuilder.X条件或小于等于。 md5:36414de9c787b690
func (*X结构_Model) X条件或小于等于并带前缀 ¶
X条件或小于等于并带前缀 在 "OR" 条件下构建 `prefix.column <= value` 语句。 参见 WhereBuilder.X条件或小于等于并带前缀。 md5:5c67992d7a2d9176
func (*X结构_Model) X条件或并带前缀 ¶
X条件或并带前缀 的行为与 WhereOr 相似,但它会在where语句中的每个字段前添加前缀。 参考 WhereBuilder.X条件或并带前缀。 md5:4ea5d18d5615ff17
func (*X结构_Model) X条件或格式化 ¶
X条件或格式化 使用 fmt.Sprintf 和参数构建 `OR` 条件字符串。 参见 WhereBuilder.X条件或格式化。 md5:a94c42c383ac4960
func (*X结构_Model) X条件或模糊匹配 ¶
X条件或模糊匹配 在`OR`条件中构建 `column LIKE like` 语句。 参考 WhereBuilder.X条件或模糊匹配。 md5:70c0895d15fd2cc9
func (*X结构_Model) X条件或模糊匹配以外 ¶
X条件或模糊匹配以外 用于构建在`OR`条件下的 `column NOT LIKE 'like'` 语句。 参考 WhereBuilder.X条件或模糊匹配以外。 md5:588ea3675853468b
func (*X结构_Model) X条件或模糊匹配以外并带前缀 ¶
X条件或模糊匹配以外并带前缀 在 `OR` 条件下构建 `prefix.column NOT LIKE like` 语句。 参见 WhereBuilder.X条件或模糊匹配以外并带前缀。 md5:2c4e846be65e70c1
func (*X结构_Model) X条件或模糊匹配并带前缀 ¶
X条件或模糊匹配并带前缀构建了`prefix.column LIKE like`条件下的`OR`语句。请参考WhereBuilder.X条件或模糊匹配并带前缀。 md5:42d57b9f251b31f3
func (*X结构_Model) X条件或非Null ¶
X条件或非Null 构建在 `OR` 条件下的 `columns[0] IS NOT NULL OR columns[1] IS NOT NULL ...` 语句。 参见 WhereBuilder.X条件或非Null 的用法。 md5:5645594c534afc8e
func (*X结构_Model) X条件或非Null并带前缀 ¶
X条件或非Null并带前缀 在 `OR` 条件中构建 `prefix.columns[0] IS NOT NULL OR prefix.columns[1] IS NOT NULL ...` 语句。 参考 WhereBuilder.X条件或非Null并带前缀。 md5:537c634be4bd78f3
func (*X结构_Model) X条件格式化 ¶
X条件格式化 使用 fmt.Sprintf 和参数构建条件字符串。 注意,如果 `args` 的数量多于 `format` 中的占位符, 多余的 `args` 将用作 Model 的 WHERE 条件参数。 参见 WhereBuilder.X条件格式化。 md5:ecb69c9051fee97d
func (*X结构_Model) X条件模糊匹配 ¶
X条件模糊匹配 构建 `column LIKE like` 语句。 参考 WhereBuilder.X条件模糊匹配。 md5:0d0b14277dfc3be8
func (*X结构_Model) X条件模糊匹配以外 ¶
X条件模糊匹配以外 构建 `column NOT LIKE like` 语句。 参考 WhereBuilder.X条件模糊匹配以外。 md5:1be6fd9ae98cc213
func (*X结构_Model) X条件模糊匹配以外并带前缀 ¶
X条件模糊匹配以外并带前缀构建`prefix.column NOT LIKE like`语句。 参见WhereBuilder.X条件模糊匹配以外并带前缀。 md5:a9a2f0b1ba94005b
func (*X结构_Model) X条件模糊匹配并带前缀 ¶
X条件模糊匹配并带前缀构建`prefix.column LIKE like`语句。 请参考WhereBuilder.X条件模糊匹配并带前缀。 md5:52c7b5d6907728da
func (*X结构_Model) X条件非Null ¶
X条件非Null 构建 `columns[0] IS NOT NULL AND columns[1] IS NOT NULL ...` 语句。 参见 WhereBuilder.X条件非Null 的用法。 md5:05b9b4179d41a28b
func (*X结构_Model) X条件非Null并带前缀 ¶
X条件非Null并带前缀 构建 `prefix.columns[0] IS NOT NULL AND prefix.columns[1] IS NOT NULL ...` 语句。 参见 WhereBuilder.X条件非Null并带前缀。 md5:953102e755997338
func (*X结构_Model) X查询 ¶
func (m *X结构_Model) X查询(查询条件 ...interface{}) (X类型_Result, error)
所有执行的是 "FROM ..." 语句针对该模型。 它从表中检索记录,并将结果作为切片类型返回。 如果根据给定条件从表中没有检索到任何记录,它将返回nil。
可选参数 `where` 和 Model.Where 函数的参数相同, 请参阅 Model.Where。 md5:fd88d2addfbe9655
func (*X结构_Model) X查询一条 ¶
func (m *X结构_Model) X查询一条(条件 ...interface{}) (X类型_Record, error)
从表中获取一条记录,并将结果作为map类型返回。如果使用给定条件从表中没有检索到记录,则返回nil。
可选参数`where`与Model.Where函数的参数相同,参见Model.Where。 md5:b48f8e0c5d07b484
func (*X结构_Model) X查询一条值 ¶
X查询一条值 从表中获取指定记录的值,并将结果作为接口类型返回。 如果根据给定条件在表中找不到记录,它将返回nil。
如果提供了可选参数 `fieldsAndWhere`,其中 fieldsAndWhere[0] 是选择的字段, 而 fieldsAndWhere[1:] 用作 WHERE 条件字段。 另请参阅 Model.Fields 和 Model.Where 函数。 md5:e6b48ca188d3d208
func (*X结构_Model) X查询与行数 ¶
func (m *X结构_Model) X查询与行数(是否用字段计数 bool) (结果 X类型_Result, 行数 int, 错误 error)
X查询与行数 从模型中检索所有记录以及记录的总数量。 如果 useFieldForCount 为真,它将使用模型中指定的字段进行计数; 否则,它将使用常数值1来进行计数。 此方法返回结果作为一个记录切片,记录的总数量,以及可能存在的错误。 where 参数是一个可选的条件列表,用于在检索记录时应用。
示例:
var model Model var result []Record var count int where := []interface{}{"name = ?", "John"} result, count, err := model.X查询与行数(true, where...) if err != nil { // 处理错误。 } fmt.Println(result, count)
md5:b631bbec9e186f68
func (*X结构_Model) X查询数组 ¶
从数据库查询并返回数据值作为切片。 注意,如果结果中有多个列,它会随机返回一列的值。
如果提供了可选参数 `fieldsAndWhere`,则 fieldsAndWhere[0] 是选择的字段, 而 fieldsAndWhere[1:] 则被视为 where 条件字段。 参见 Model.Fields 和 Model.Where 函数。 md5:1de6885dc1e83172
func (*X结构_Model) X查询结构或结构数组 ¶
X查询结构或结构数组 会根据参数`pointer`的类型自动调用Struct或Structs函数。 如果`pointer`是类型`*struct`或`**struct`,它会调用doStruct函数。 如果`pointer`是类型`*[]struct`或`*[]*struct`,它会调用doStructs函数。
可选参数`where`与Model.Where函数的参数相同,参见Model.Where。
注意,如果给定的`pointer`指向一个具有默认值的变量,并且在表中没有满足条件的记录,它将返回sql.ErrNoRows错误。
示例: user := new(User) err := db.Model("user").Where("id", 1).X查询结构或结构数组(user)
user := (*User)(nil) err := db.Model("user").Where("id", 1).X查询结构或结构数组(&user)
users := ([]User)(nil) err := db.Model("user").X查询结构或结构数组(&users)
users := ([]*User)(nil) err := db.Model("user").X查询结构或结构数组(&users) md5:a6df07ddafe5975a
func (*X结构_Model) X查询结构或结构数组与行数 ¶
X查询结构或结构数组与行数 扫描与给定条件匹配的单条记录或记录数组,并计算符合这些条件的总记录数。 如果 useFieldForCount 为 true,它将使用模型中指定的字段进行计数; pointer 参数是一个指向结构体的指针,用于存储扫描到的数据。 pointerCount 参数是一个指向整数的指针,将被设置为符合给定条件的总记录数。 where 参数是可选的条件列表,用于在检索记录时使用。
示例:
var count int user := new(User) err := db.Model("user").Where("id", 1).X查询结构或结构数组与行数(user, &count, true) fmt.Println(user, count)
示例(联接):
type User struct { Id int Passport string Name string Age int } var users []User var count int db.Model(table).As("u1"). LeftJoin(tableName2, "u2", "u2.id=u1.id"). Fields("u1.passport,u1.id,u2.name,u2.age"). Where("u1.id<2"). X查询结构或结构数组与行数(&users, &count, false)
md5:984fa8f0e50708f4
func (*X结构_Model) X查询结构或结构数组并关联 ¶
X查询结构或结构数组并关联 将 `r` 转换为包含其他复杂结构体属性的切片。请注意,参数 `listPointer` 的类型应该是 `*[]struct` 或 `*[]*struct`。
参见 Result.X查询到指针列表。 md5:4116492a123661b5
func (*X结构_Model) X查询行数 ¶
X查询行数 对于该模型执行 "SELECT COUNT(x) FROM ..." 语句。 可选参数 `where` 和 Model.Where 函数的参数相同,参见 Model.Where。 md5:52b3d2e0e43bb2af
func (*X结构_Model) X缓存 ¶
func (m *X结构_Model) X缓存(选项 X结构_CacheOption) *X结构_Model
X缓存 为模型设置缓存功能。它将 SQL 的结果缓存起来,这意味着如果有相同的 SQL 请求, 它会直接从缓存中读取并返回结果,而不会真正提交并执行到数据库中。
注意,如果模型在事务中执行 SELECT 语句,缓存功能将被禁用。 md5:5d7ea513a485f3ad
func (*X结构_Model) X设置上下文并取副本 ¶
X设置上下文并取副本 设置当前操作的上下文。 md5:77d589f34a65753b
func (*X结构_Model) X设置分区名称 ¶
分区设置分区名称。 例子: dao.User.Ctx(ctx).X设置分区名称("p1", "p2", "p3").All()
这段Go代码的注释表示:使用`X设置分区名称`方法对数据进行分区操作,传入多个分区名称(如:"p1", "p2", "p3"),然后在查询时指定这些分区。`Ctx(ctx)`表示使用上下文`ctx`进行操作。`All()`是获取所有满足条件的数据。 md5:f133a577ba31c05f
func (*X结构_Model) X设置分组条件 ¶
X设置分组条件 设置模型的having语句。 该函数的使用参数与Where函数相同。 参见Where。 md5:b4e737511765f79f
func (*X结构_Model) X设置分页 ¶
X设置分页 设置模型的分页号。 参数 `page` 的起始值为1,用于分页。 注意,这与Limit函数在"LIMIT"语句中从0开始不同。 md5:02b920e99951ce53
func (*X结构_Model) X设置插入冲突不更新字段 ¶
X设置插入冲突不更新字段 设置在发生列冲突时排除的列,用于操作。 在 MySQL 中,这用于 "ON DUPLICATE KEY UPDATE" 语句。 在 PgSQL 中,这用于 "ON CONFLICT (id) DO UPDATE SET" 语句。 参数 `onDuplicateEx` 可以是字符串、映射或切片类型。 示例:
X设置插入冲突不更新字段("passport, password") X设置插入冲突不更新字段("passport", "password")
X设置插入冲突不更新字段(g.Map{ "passport": "", "password": "", })
md5:6fa8981bef042b71
func (*X结构_Model) X设置插入冲突更新字段 ¶
X设置插入冲突更新字段 设置在列发生冲突时执行的操作。 在MySQL中,这用于 "ON DUPLICATE KEY UPDATE" 语句。 在PgSQL中,这用于 "ON CONFLICT (id) DO UPDATE SET" 语句。 参数 `onDuplicate` 可以是字符串/Raw/*Raw/映射/切片类型。 示例:
X设置插入冲突更新字段("nickname, age") X设置插入冲突更新字段("nickname", "age")
X设置插入冲突更新字段(g.Map{ "nickname": gdb.Raw("CONCAT('name_', VALUES(`nickname`))"), }) X设置插入冲突更新字段(g.Map{ "nickname": "passport", })
md5:fa9214f9681b4e5d
func (*X结构_Model) X设置数据 ¶
X设置数据 设置模型的操作数据。 参数 `data` 可以为字符串/映射/gmap/切片/结构体/**结构体指针**等类型。 注意,如果`data`是映射或切片类型,它将使用浅复制以避免在函数内部改变原数据。 例如: X设置数据("uid=10000") X设置数据("uid", 10000) X设置数据("uid=? AND name=?", 10000, "john") X设置数据(g.Map{"uid": 10000, "name":"john"}) X设置数据(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"}}) md5:116cf94880dfa535
func (*X结构_Model) X设置条数 ¶
X设置条数 设置模型的 "LIMIT" 语句。 参数 `limit` 可以是一个或两个数字。如果传递两个数字,它将为模型设置 "LIMIT limit[0],limit[1]" 语句;否则,它将设置 "LIMIT limit[0]" 语句。 md5:fd06ed75a128d403
func (*X结构_Model) X过滤Nil ¶
X过滤Nil为模型设置optionOmitNil选项,该选项会自动过滤掉`nil`值的数据和where参数。 md5:d24d4fb4b4f59068
func (*X结构_Model) X过滤Nil数据 ¶
X过滤Nil数据 为模型设置 optionOmitNilData 选项,该选项会自动过滤掉 Data 参数中的 `nil` 值。 md5:e6503d524a0d8d31
func (*X结构_Model) X过滤Nil条件 ¶
X过滤Nil条件 为模型设置了 optionOmitNilWhere 选项,该选项会自动过滤掉 Where/Having 参数中的 `nil` 值。 md5:b5927ba5d926adaf
func (*X结构_Model) X过滤空值 ¶
X过滤空值 为模型设置了 optionOmitEmpty 选项,该选项会自动过滤掉 数据和 where 参数中的 `空值`。 md5:bf1dc800704b3324
func (*X结构_Model) X过滤空值数据 ¶
X过滤空值数据 为模型设置 optionOmitEmptyData 选项,该选项会自动过滤掉 Data 参数中的空值。 md5:56dab615155b1550
func (*X结构_Model) X过滤空值条件 ¶
X过滤空值条件 为模型设置 optionOmitEmptyWhere 选项,该选项会自动过滤掉 Where/Having 参数中的"空"值。
示例:
Where("id", []int{}).All() -> SELECT xxx FROM xxx WHERE 0=1 Where("name", "").All() -> SELECT xxx FROM xxx WHERE `name`='' OmitEmpty().Where("id", []int{}).All() -> SELECT xxx FROM xxx OmitEmpty().("name", "").All() -> SELECT xxx FROM xxx.
md5:df62f4199a96c566
func (*X结构_Model) X链式安全 ¶
X链式安全 标记此模型为安全或不安全。如果 safe 为 true,那么在执行完操作后,它会克隆并返回一个新的模型对象; 否则,它将直接修改当前模型的属性。 md5:56aecad30556ca98
type X结构_SoftTimeOption ¶
type X结构_SoftTimeOption struct {
SoftTimeType SoftTimeType // 软时间字段的值类型。 md5:472088e64d8a928f
}
X结构_SoftTimeOption 是用于自定义 Model 的软时间功能的选项。 md5:fcc19f5ef8ad45e7
type X结构_Sql ¶
type X结构_Sql struct { Sql string // SQL字符串(可能包含保留字符'?')。 md5:8c5af3ca9410a41d Type X类型_SqlType // SQL operation type. Args []interface{} // 这个SQL的参数。 md5:b4c3922763e4978a Format string // 包含在SQL中的参数格式化的SQL。 md5:555ebca4fe98838b Error error // Execution result. Start int64 // 开始执行的时间戳(以毫秒为单位)。 md5:90bcb553c20da17f End int64 // 结束执行的时间戳,以毫秒为单位。 md5:a69dc8d121bd65c6 Group string // Group是执行SQL的配置组的名称。 md5:ae6f0deafeed211b Schema string // Schema是执行SQL时的配置模式名称。 md5:ac146287e6f60f27 IsTransaction bool // IsTransaction 标记此 SQL 语句是否在事务中执行。 md5:df029c1ffc72fbf7 RowsAffected int64 // RowsAffected 标记了当前 SQL 语句所影响或检索到的数量。 md5:24de0b6ae028d942 }
X结构_Sql 是用于记录 SQL 的结构体。 md5:00be6a573786ce1b
type X结构_SqlResult ¶
X结构_SqlResult是SQL操作的执行结果。它还支持行影响的批量操作结果。 md5:c89c5ab24627c936
func (*X结构_SqlResult) LastInsertId ¶
func (r *X结构_SqlResult) LastInsertId() (int64, error)
LastInsertId返回数据库对命令的响应生成的整数。通常,这将是在插入新行时来自“自动递增”列的。并非所有数据库都支持此功能,且此类语句的语法各不相同。 参见sql.Result。 md5:7236c1ac3f4fc094
func (*X结构_SqlResult) RowsAffected ¶
func (r *X结构_SqlResult) RowsAffected() (int64, error)
RowsAffected 返回更新、插入或删除操作影响的行数。并非所有数据库或数据库驱动程序都支持此功能。 参见 sql.Result。 md5:f41c8ccbf7344301
func (*X结构_SqlResult) X取影响行数PANI ¶
func (r *X结构_SqlResult) X取影响行数PANI() int64
X取影响行数PANI 返回受影响的行数,如果发生任何错误,则会引发恐慌。 md5:be151685a0da2b44
func (*X结构_SqlResult) X取最后插入IdPANI ¶
func (r *X结构_SqlResult) X取最后插入IdPANI() int64
X取最后插入IdPANI 返回最后的插入ID,如果发生任何错误,它将引发恐慌。 md5:bd23d169a4cb6738
type X结构_Stmt ¶
X结构_Stmt 是一个预处理语句。 X结构_Stmt 安全地支持多个 goroutine 并发使用。
如果在一个 Tx 或 Conn 上准备了一个 X结构_Stmt,它将永久绑定到单一的底层连接上。如果该 Tx 或 Conn 关闭了,X结构_Stmt 将变得无法使用,并且所有操作都将返回错误。 如果在一个 DB 上准备了一个 X结构_Stmt,它将在 DB 的整个生命周期内保持可用。当 X结构_Stmt 需要在新的底层连接上执行时,它会自动在新连接上为自己做准备。 md5:cf1394a31e88aa92
func (*X结构_Stmt) ExecContext ¶
ExecContext 使用给定的参数执行一个预编译的语句,并返回一个总结语句影响的结果。 md5:aa3184ee6004a352
func (*X结构_Stmt) QueryContext ¶
QueryContext 使用给定的参数执行一个预处理查询语句,并将查询结果作为*Rows返回。 md5:2dc9d8dfa34a3cb1
func (*X结构_Stmt) QueryRow ¶
QueryRow 执行一个预处理的查询语句,使用给定的参数。如果在执行语句时发生错误,该错误将通过调用返回的 *Row 的 Scan 方法返回,*Row 总是非空的。如果查询没有选择任何行,*Row 的 Scan 将返回 ErrNoRows。否则,*Row 的 Scan 会扫描选中的第一行并忽略其余行。
示例用法:
var name string err := nameByUseridStmt.QueryRow(id).Scan(&name)
md5:3b2851663bab6cd6
func (*X结构_Stmt) QueryRowContext ¶
QueryRowContext 使用给定的参数执行预处理查询语句。 如果在执行语句时发生错误,该错误将通过调用返回的*Row的Scan方法返回,该*Row始终非空。 如果查询没有选择任何行,*Row的Scan将返回ErrNoRows。 否则,*Row的Scan会扫描选中的第一行并丢弃其余部分。 md5:a2aed2939b0e481c
type X结构_TXCore ¶
type X结构_TXCore struct {
// contains filtered or unexported fields
}
X结构_TXCore是事务管理的结构体。 md5:c2173551528f4399
func (*X结构_TXCore) ExecContext ¶
func (tx *X结构_TXCore) ExecContext(ctx context.Context, sql string, args ...interface{}) (sql.Result, error)
ExecContext 实现了 Link.ExecContext 接口函数。 md5:9bd9a386cc5fc878
func (*X结构_TXCore) IsOnMaster ¶
func (tx *X结构_TXCore) IsOnMaster() bool
IsOnMaster 实现接口函数 Link.IsOnMaster。 md5:4fddd5d2ad612d30
func (*X结构_TXCore) IsTransaction ¶
func (tx *X结构_TXCore) IsTransaction() bool
IsTransaction 实现了 Link 接口中的函数 IsTransaction。 md5:692b7be612be52bd
func (*X结构_TXCore) PrepareContext ¶
PrepareContext 实现了接口 Link 的 PrepareContext 函数。 md5:b08e1c50bfb8f8e8
func (*X结构_TXCore) QueryContext ¶
func (tx *X结构_TXCore) QueryContext(ctx context.Context, sql string, args ...interface{}) (*sql.Rows, error)
QueryContext实现了Link.QueryContext接口函数。 md5:f42e7710688a27fc
func (*X结构_TXCore) X事务 ¶
func (tx *X结构_TXCore) X事务(上下文 context.Context, 回调函数 func(上下文 context.Context, tx TX) error) (错误 error)
X事务 包装了使用函数 `f` 执行的事务逻辑。 如果函数 `f` 返回非空错误,它将回滚事务并返回该错误。如果函数 `f` 返回 nil,它将提交事务并返回 nil。
注意,在函数 `f` 中不应手动提交或回滚事务,因为这些操作将由这个函数自动处理。 md5:8906440d4dbbef1f
func (*X结构_TXCore) X事务回滚 ¶
func (tx *X结构_TXCore) X事务回滚() error
X事务回滚 会回滚当前事务。 注意,在嵌套事务过程中,它会回滚当前的事务;否则,它将回滚整个事务。 md5:0c483721f8447f53
func (*X结构_TXCore) X事务开启 ¶
func (tx *X结构_TXCore) X事务开启() error
X事务开启 启动一个嵌套事务过程。 md5:1b04e48800ebefdd
func (*X结构_TXCore) X事务提交 ¶
func (tx *X结构_TXCore) X事务提交() error
X事务提交 提交当前事务。 注意,如果处于嵌套事务过程中,它会释放之前的保存事务点, 否则,它将提交整个事务。 md5:9ca50fd58870ed9e
func (*X结构_TXCore) X保存事务点 ¶
func (tx *X结构_TXCore) X保存事务点(事务点名称 string) error
X保存事务点 执行 `SAVEPOINT xxx` SQL 语句,该语句在当前点保存事务。 参数 `point` 指定将被保存到服务器的保存点名称。 md5:f4061450298afabd
func (*X结构_TXCore) X关联对象 ¶
func (tx *X结构_TXCore) X关联对象(关联结构 interface{}) *X结构_Model
X关联对象 的行为类似于 Core.X关联对象,但它是在事务上操作。 参见 Core.X关联对象。 md5:37000d6ea41561fc
func (*X结构_TXCore) X创建Model对象 ¶
func (tx *X结构_TXCore) X创建Model对象(表名或结构 ...interface{}) *X结构_Model
X创建Model对象 类似于 Core.X创建Model对象,但它是基于事务操作的。 请参阅 Core.X创建Model对象。 md5:2c5866afc2e5dd90
func (*X结构_TXCore) X删除 ¶
func (tx *X结构_TXCore) X删除(表名称 string, 条件 interface{}, 参数 ...interface{}) (sql.Result, error)
X删除 执行 "DELETE FROM ... " 语句针对该表。
`condition` 参数可以是字符串、映射、gmap、切片、结构体或指向结构体的指针等多种类型。 它常与参数 `args` 一起使用。 例如: "uid=10000", "uid", 10000 "money>? AND name like ?", 99999, "vip_%" "status IN (?)", g.Slice{1,2,3} "age IN(?,?)", 18, 50 User{ Id : 1, UserName : "john"}. md5:c6c87830434eba7d
func (*X结构_TXCore) X原生SQL ¶
func (tx *X结构_TXCore) X原生SQL(原生Sql string, 参数 ...interface{}) *X结构_Model
func (*X结构_TXCore) X原生SQL执行 ¶
func (tx *X结构_TXCore) X原生SQL执行(sql string, 参数 ...interface{}) (sql.Result, error)
X原生SQL执行 在事务上执行非查询操作。 参见Core.X原生SQL执行。 md5:043edf012223f310
func (*X结构_TXCore) X原生SQL查询 ¶
func (tx *X结构_TXCore) X原生SQL查询(sql string, 参数 ...interface{}) (结果 X类型_Result, 错误 error)
X原生SQL查询 在事务上执行查询操作。 请参阅Core.X原生SQL查询。 md5:0d7503cceb0dc1d6
func (*X结构_TXCore) X原生SQL查询到结构 ¶
func (tx *X结构_TXCore) X原生SQL查询到结构(结构指针 interface{}, sql string, 参数 ...interface{}) error
X原生SQL查询到结构 从数据库查询一个或多个记录,并将它们转换为给定的结构体或结构体数组。
如果参数 `pointer` 是结构指针类型,它内部会调用 GetStruct 进行转换。如果参数 `pointer` 是切片类型,它内部会调用 GetStructs 进行转换。 md5:c1dbdab7a7c29c51
func (*X结构_TXCore) X原生SQL查询到结构数组 ¶
func (tx *X结构_TXCore) X原生SQL查询到结构数组(结构指针 interface{}, sql string, 参数 ...interface{}) error
X原生SQL查询到结构数组 从数据库查询记录,并将它们转换为给定的结构体。参数 `pointer` 应该是结构体切片的类型:[]struct 或 []*struct。 md5:af7dfbf46c6660c6
func (*X结构_TXCore) X原生SQL查询单条 ¶
func (tx *X结构_TXCore) X原生SQL查询单条(sql string, 参数 ...interface{}) (X类型_Record, error)
X原生SQL查询单条 从数据库中查询并返回一条记录。 md5:9552f7e095f58141
func (*X结构_TXCore) X原生SQL查询单条到结构 ¶
func (tx *X结构_TXCore) X原生SQL查询单条到结构(结构指针 interface{}, sql string, 参数 ...interface{}) error
X原生SQL查询单条到结构 从数据库中查询一条记录,并将其转换为给定的结构体。 参数 `pointer` 应该是指向结构体的指针。 md5:7ddc0d419d6cd2aa
func (*X结构_TXCore) X原生SQL查询多条 ¶
func (tx *X结构_TXCore) X原生SQL查询多条(sql string, 参数 ...interface{}) (X类型_Result, error)
X原生SQL查询多条 从数据库中查询并返回数据记录。 md5:dfdcfddaa70ab1d4
func (*X结构_TXCore) X原生SQL查询字段值 ¶
func (tx *X结构_TXCore) X原生SQL查询字段值(sql string, 参数 ...interface{}) (X类型_Value, error)
X原生SQL查询字段值 从数据库查询并返回字段值。 SQL 应该只查询数据库中的一个字段,否则它将只返回结果中的一个字段。 md5:96794360fadbc288
func (*X结构_TXCore) X原生SQL查询字段计数 ¶
func (tx *X结构_TXCore) X原生SQL查询字段计数(sql string, 参数 ...interface{}) (int64, error)
X原生SQL查询字段计数 从数据库中查询并返回计数。 md5:a8368d39f4a58979
func (*X结构_TXCore) X原生sql取参数预处理对象 ¶
func (tx *X结构_TXCore) X原生sql取参数预处理对象(sql string) (*X结构_Stmt, error)
X原生sql取参数预处理对象 创建一个预处理语句,以便后续的查询或执行。 可以从返回的语句中并发地运行多个查询或执行。 调用者必须在不再需要该语句时调用语句的 Close 方法。 md5:16334dc7db1c37a9
func (*X结构_TXCore) X取DB对象 ¶
func (tx *X结构_TXCore) X取DB对象() DB
X取DB对象 返回当前事务的DB。 md5:26a64f5fed9954b6
func (*X结构_TXCore) X取上下文对象 ¶
func (tx *X结构_TXCore) X取上下文对象() context.Context
X取上下文对象 返回当前事务的上下文。 md5:e3cb35516cebab84
func (*X结构_TXCore) X回滚事务点 ¶
func (tx *X结构_TXCore) X回滚事务点(事务点名称 string) error
X回滚事务点 执行 `ROLLBACK TO SAVEPOINT xxx` SQL语句,回滚到指定的保存点事务。 参数 `point` 指定了之前保存的保存点名称。 md5:e347c163ad8fefa7
func (*X结构_TXCore) X底层取事务对象 ¶
func (tx *X结构_TXCore) X底层取事务对象() *sql.Tx
X底层取事务对象 返回当前事务的底层事务对象。 md5:31b14245dcb30833
func (*X结构_TXCore) X插入 ¶
X插入 执行 "INSERT INTO..." 语句来操作表。 如果表中已经存在数据的唯一记录,它会返回错误。
参数 `data` 可以是 map、gmap、struct、*struct、[]map 或 []struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
参数 `batch` 在给定数据为切片时,指定批量操作的次数。 md5:fd75d343f485b8dc
func (*X结构_TXCore) X插入并取ID ¶
func (tx *X结构_TXCore) X插入并取ID(表名称 string, 值 interface{}, 批量操作行数 ...int) (int64, error)
X插入并取ID 执行插入操作,并返回自动生成的最后一个插入id。 md5:8d00b40a35fa48a5
func (*X结构_TXCore) X插入并更新已存在 ¶
X插入并更新已存在 执行 "INSERT INTO ... ON DUPLICATE KEY UPDATE..." 语句来操作表。 如果保存的数据中存在主键或唯一索引,它将更新记录;否则,将在表中插入新记录。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
如果给定的数据是切片类型,它将进行批量保存。可选参数 `batch` 指定了批量操作的次数。 md5:c76721f5e0b01424
func (*X结构_TXCore) X插入并替换已存在 ¶
X插入并替换已存在 用于执行针对该表的 "REPLACE INTO..." 语句。如果表中已经存在数据的唯一记录,它会删除该记录并插入新的。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"}})
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。如果给定的数据是切片类型,它将进行批量替换,并可选地通过参数 `batch` 指定批量操作次数。 md5:69ecd0994eab5bbb
func (*X结构_TXCore) X插入并跳过已存在 ¶
X插入并跳过已存在 执行 "INSERT IGNORE INTO ..." 语句针对该表。 如果表中已存在该数据的唯一记录,则忽略插入操作。
参数 `data` 可以是 map/gmap/struct/*struct/[]map/[]struct 等类型。 例如: Data(g.Map{"uid": 10000, "name": "john"}) Data(g.Slice{g.Map{"uid": 10000, "name": "john"}, g.Map{"uid": 20000, "name": "smith"})
当给定的数据为切片时,参数 `batch` 指定批处理操作的计数。 md5:49f76901041c9819
func (*X结构_TXCore) X是否已关闭 ¶
func (tx *X结构_TXCore) X是否已关闭() bool
X是否已关闭检查并返回此事务是否已经提交或回滚。 md5:cecc2f01ef3e3556
func (*X结构_TXCore) X更新 ¶
func (tx *X结构_TXCore) X更新(表名称 string, 值 interface{}, 条件 interface{}, 参数 ...interface{}) (sql.Result, error)
X更新 执行表的 "UPDATE ... " 语句。
参数 `data` 可以是字符串、映射、gmap、结构体或指向结构体的指针等类型。 例如:"uid=10000", "uid", 10000, g.Map{"uid": 10000, "name":"john"}
参数 `condition` 也可以是字符串、映射、gmap、切片或结构体及指向结构体的指针等类型。 常与参数 `args` 配合使用。 例如: "uid=10000", "uid", 10000 "money>? AND name like ?", 99999, "vip_%" "status IN (?)", g.Slice{1,2,3} "age IN(?,?)", 18, 50 User{ Id : 1, UserName : "john"}. md5:8651eb1bd7e10da0
func (*X结构_TXCore) X设置上下文并取副本 ¶
func (tx *X结构_TXCore) X设置上下文并取副本(上下文 context.Context) TX
X设置上下文并取副本为当前事务设置上下文。 md5:da0e9ba442dc74f9
type X结构_TableField ¶
type X结构_TableField struct { Index int // 用于排序,因为map是无序的。 md5:2c2b51c0f42d0aa5 X名称 string // Field name. X类型 string // 字段类型。例如:'int(10) unsigned','varchar(64)'。 md5:c5cb4af28fd84cc4 Null bool // 字段可以为null,也可以不为null。 md5:eecc03ab53cc06c9 Key string // The index information(empty if it's not an index). Eg: PRI, MUL. Default interface{} // 字段的默认值。 md5:e9e6c4fce349ba5e X额外 string //额外的信息。例如:auto_increment。 md5:706ba1f1653042e0 Comment string // Field comment. }
X结构_TableField 是用于表示表字段的结构体。 md5:dad00a23ddbc4525
type X结构_WhereBuilder ¶
type X结构_WhereBuilder struct {
// contains filtered or unexported fields
}
X结构_WhereBuilder 在一个分组中持有多个where条件。 md5:184a682305e36f1a
func (*X结构_WhereBuilder) X条件 ¶
func (b *X结构_WhereBuilder) X条件(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
X条件 方法为构建器设置条件语句。参数 `where` 可以是多种类型,包括 字符串、映射、gmap(可能是自定义的映射类型)、切片、结构体、指针到结构体等。需要注意的是, 如果该方法被调用了多次,多个条件将会使用 "AND" 连接起来组成 WHERE 子句。 例如: X条件("uid=10000") X条件("uid", 10000) X条件("money>? AND name like ?", 99999, "vip_%") X条件("uid", 1).X条件("name", "john") X条件("status IN (?)", g.Slice{1,2,3}) X条件("age IN(?,?)", 18, 50) X条件(User{ Id : 1, UserName : "john"}) // 使用结构体作为查询条件 md5:38a2f7ff889346c5
func (*X结构_WhereBuilder) X条件NULL值 ¶
func (b *X结构_WhereBuilder) X条件NULL值(字段名 ...string) *X结构_WhereBuilder
X条件NULL值 构建 `columns[0] IS NULL AND columns[1] IS NULL ...` 语句。 md5:9341218ae0c32357
func (*X结构_WhereBuilder) X条件NULL值并带前缀 ¶
func (b *X结构_WhereBuilder) X条件NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
X条件NULL值并带前缀 构建 `prefix.columns[0] IS NULL AND prefix.columns[1] IS NULL ...` 语句。 md5:ac08bde96048fdce
func (*X结构_WhereBuilder) X条件不包含 ¶
func (b *X结构_WhereBuilder) X条件不包含(字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
X条件不包含构建`column NOT IN (in)`语句。 md5:658ffbae4d294fa4
func (*X结构_WhereBuilder) X条件不包含并带前缀 ¶
func (b *X结构_WhereBuilder) X条件不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
X条件不包含并带前缀 用于构建 `prefix.column NOT IN (in)` 的SQL语句。 md5:3b790678c07a51fd
func (*X结构_WhereBuilder) X条件不等于 ¶
func (b *X结构_WhereBuilder) X条件不等于(字段名 string, 值 interface{}) *X结构_WhereBuilder
X条件不等于 构建 `column != value` 语句。 md5:d409867c3e8a9641
func (*X结构_WhereBuilder) X条件不等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_WhereBuilder
X条件不等于并带前缀构建`prefix.column != value`语句。 md5:c1366e00cd0da49e
func (*X结构_WhereBuilder) X条件包含 ¶
func (b *X结构_WhereBuilder) X条件包含(字段名 string, 包含值 interface{}) *X结构_WhereBuilder
X条件包含 构建 `column IN (in)` 语句。 md5:08648a50bb84e2ee
func (*X结构_WhereBuilder) X条件包含并带前缀 ¶
func (b *X结构_WhereBuilder) X条件包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_WhereBuilder
X条件包含并带前缀 构建 `prefix.column IN (in)` 语句。 md5:fd691f634711ba7f
func (*X结构_WhereBuilder) X条件取范围 ¶
func (b *X结构_WhereBuilder) X条件取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件取范围构建`column BETWEEN min AND max`语句。 md5:cdb9b4a2942f3b60
func (*X结构_WhereBuilder) X条件取范围以外 ¶
func (b *X结构_WhereBuilder) X条件取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件取范围以外构建`column NOT BETWEEN min AND max`语句。 md5:ac5d20d314a9fa0c
func (*X结构_WhereBuilder) X条件取范围以外并带前缀 ¶
func (b *X结构_WhereBuilder) X条件取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件取范围以外并带前缀 构建 `prefix.column NOT BETWEEN min AND max` 语句。 md5:a16703b511af05c3
func (*X结构_WhereBuilder) X条件取范围并带前缀 ¶
func (b *X结构_WhereBuilder) X条件取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件取范围并带前缀 构建 `prefix.column BETWEEN min AND max` 语句。 md5:e6176c55b8a31575
func (*X结构_WhereBuilder) X条件大于 ¶
func (b *X结构_WhereBuilder) X条件大于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件大于 构建 `column > value` 语句。 md5:41527fa039c8a299
func (*X结构_WhereBuilder) X条件大于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件大于并带前缀构建`prefix.column > value`语句。 md5:61d5cbbb9f5422fd
func (*X结构_WhereBuilder) X条件大于等于 ¶
func (b *X结构_WhereBuilder) X条件大于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件大于等于构建`column >= value`语句。 md5:fff159ae64237621
func (*X结构_WhereBuilder) X条件大于等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件大于等于并带前缀 生成 `prefix.column >= value` 的语句。 md5:1b581ea600e215e7
func (*X结构_WhereBuilder) X条件小于 ¶
func (b *X结构_WhereBuilder) X条件小于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件小于构建`column < value`语句。 md5:438e43e951037408
func (*X结构_WhereBuilder) X条件小于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件小于并带前缀 构建 `prefix.column < value` 语句。 md5:de5cb5259ef84499
func (*X结构_WhereBuilder) X条件小于等于 ¶
func (b *X结构_WhereBuilder) X条件小于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件小于等于 构建 `column <= value` 的语句。 md5:149d7bc478d211fd
func (*X结构_WhereBuilder) X条件小于等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件小于等于并带前缀构建`prefix.column <= value`语句。 md5:1c5d93f173a39b03
func (*X结构_WhereBuilder) X条件带前缀 ¶
func (b *X结构_WhereBuilder) X条件带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
X条件带前缀 的功能类似于 Where,但它会在 where 语句中的每个字段前添加一个前缀。 例如: X条件带前缀("order", "status", "paid") => WHERE `order`.`status`='paid' X条件带前缀("order", struct{Status:"paid", "channel":"bank"}) => WHERE `order`.`status`='paid' AND `order`.`channel`='bank'
这段注释的中文翻译为:
X条件带前缀 的行为与 Where 相似,但它会在 where 子句里的每个字段前加上一个前缀。 例如: X条件带前缀("order", "status", "paid") => 生成 WHERE `order`.`status`='paid' X条件带前缀("order", struct{Status:"paid", "channel":"bank"}) => 生成 WHERE `order`.`status`='paid' AND `order`.`channel`='bank' md5:062302edb484784b
func (*X结构_WhereBuilder) X条件并识别主键 ¶
func (b *X结构_WhereBuilder) X条件并识别主键(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
X条件并识别主键 的逻辑与 Model.Where 相同,但当参数 `where` 是单个条件,如 int、string、float 或 slice 时,它将该条件视为主键值。也就是说,如果主键是 "id" 并且给定的 `where` 参数为 "123",X条件并识别主键 函数会将条件解析为 "id=123",而 Model.Where 则会将条件视为字符串 "123"。 md5:2545fa57bcbd235c
func (*X结构_WhereBuilder) X条件或 ¶
func (b *X结构_WhereBuilder) X条件或(条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
X条件或 向 WHERE 语句中添加“OR”条件。 md5:753c32f428b02541
func (*X结构_WhereBuilder) X条件或NULL值 ¶
func (b *X结构_WhereBuilder) X条件或NULL值(字段名 ...string) *X结构_WhereBuilder
X条件或NULL值 在 `OR` 条件下构建 `columns[0] IS NULL OR columns[1] IS NULL ...` 语句。 md5:08d38a60dc594441
func (*X结构_WhereBuilder) X条件或NULL值并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或NULL值并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
X条件或NULL值并带前缀 在"OR"条件中构建`prefix.columns[0] IS NULL OR prefix.columns[1] IS NULL ...`语句。 md5:facf88eb72f3d299
func (*X结构_WhereBuilder) X条件或不包含 ¶
func (b *X结构_WhereBuilder) X条件或不包含(字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
X条件或不包含构建`column NOT IN (in)`语句。 md5:433fd8a0f224fc24
func (*X结构_WhereBuilder) X条件或不包含并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或不包含并带前缀(字段前缀 string, 字段名 string, 不包含值 interface{}) *X结构_WhereBuilder
X条件或不包含并带前缀 用于构建 `prefix.column NOT IN (in)` 的SQL语句。 md5:bd296110bb5635a1
func (*X结构_WhereBuilder) X条件或不等于 ¶
func (b *X结构_WhereBuilder) X条件或不等于(字段名 string, 值 interface{}) *X结构_WhereBuilder
X条件或不等于在`OR`条件下构建`column != value`语句。 md5:adc6d63e61bf279f
func (*X结构_WhereBuilder) X条件或不等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或不等于并带前缀(字段前缀 string, 字段名 string, 值 interface{}) *X结构_WhereBuilder
X条件或不等于并带前缀 在 OR 条件中构建 `prefix.column != value` 语句。 md5:385a9f9fb58b8fc3
func (*X结构_WhereBuilder) X条件或包含 ¶
func (b *X结构_WhereBuilder) X条件或包含(字段名 string, 包含值 interface{}) *X结构_WhereBuilder
X条件或包含 在`OR`条件下构建`column IN (in)`语句。 md5:4bb93b5ae9a5e887
func (*X结构_WhereBuilder) X条件或包含并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或包含并带前缀(字段前缀 string, 字段名 string, 包含值 interface{}) *X结构_WhereBuilder
X条件或包含并带前缀 用于构建 `prefix.column IN (in)` 形式的 SQL 语句,在 `OR` 条件下。 md5:18e0cf5cc971267d
func (*X结构_WhereBuilder) X条件或取范围 ¶
func (b *X结构_WhereBuilder) X条件或取范围(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件或取范围 用于构建 `column BETWEEN min AND max` 语句,并在 `OR` 条件下使用。 md5:90f98622a1fd5981
func (*X结构_WhereBuilder) X条件或取范围以外 ¶
func (b *X结构_WhereBuilder) X条件或取范围以外(字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件或取范围以外 用于构建在 `OR` 条件下的 `column NOT BETWEEN min AND max` 语句。 md5:f20408e0126bbbab
func (*X结构_WhereBuilder) X条件或取范围以外并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或取范围以外并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件或取范围以外并带前缀在`OR`条件下构建`prefix.column NOT BETWEEN min AND max`语句。 md5:15259f135308893b
func (*X结构_WhereBuilder) X条件或取范围并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或取范围并带前缀(字段前缀 string, 字段名 string, 最小值, 最大值 interface{}) *X结构_WhereBuilder
X条件或取范围并带前缀在`OR`条件下构建`prefix.column BETWEEN min AND max`语句。 md5:d7adaf273fa5681b
func (*X结构_WhereBuilder) X条件或大于 ¶
func (b *X结构_WhereBuilder) X条件或大于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或大于在`OR`条件下构建`column > value`语句。 md5:2289d39bb82e521f
func (*X结构_WhereBuilder) X条件或大于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或大于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或大于并带前缀 在 `OR` 条件下构建 `prefix.column > value` 的语句。 md5:d34b5bdc0e6b2fa8
func (*X结构_WhereBuilder) X条件或大于等于 ¶
func (b *X结构_WhereBuilder) X条件或大于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或大于等于在`OR`条件下构建`column >= value`语句。 md5:e178dd8cfc5661e5
func (*X结构_WhereBuilder) X条件或大于等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或大于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或大于等于并带前缀 在 OR 条件中构建 `prefix.column >= value` 语句。 md5:d652ca0304ac835e
func (*X结构_WhereBuilder) X条件或小于 ¶
func (b *X结构_WhereBuilder) X条件或小于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或小于 在 `OR` 条件下构建 `column < value` 的语句。 md5:5517b3812e2c8e8b
func (*X结构_WhereBuilder) X条件或小于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或小于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或小于并带前缀在"OR"条件下构建`prefix.column < value`语句。 md5:c1a6baf94f553043
func (*X结构_WhereBuilder) X条件或小于等于 ¶
func (b *X结构_WhereBuilder) X条件或小于等于(字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或小于等于 在 OR 条件中构建 `column <= value` 语句。 md5:3b0287bd1f8030ce
func (*X结构_WhereBuilder) X条件或小于等于并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或小于等于并带前缀(字段前缀 string, 字段名 string, 比较值 interface{}) *X结构_WhereBuilder
X条件或小于等于并带前缀 在“OR”条件下构建 `prefix.column <= value` 语句。 md5:77072877b38f04a8
func (*X结构_WhereBuilder) X条件或并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或并带前缀(字段前缀 string, 条件 interface{}, 参数 ...interface{}) *X结构_WhereBuilder
X条件或并带前缀 的功能类似于 WhereOr,但它会在 WHERE 子句中的每个字段前添加一个前缀。 例如: X条件或并带前缀("order", "status", "paid") => WHERE xxx OR (`order`.`status`='paid') X条件或并带前缀("order", struct{Status:"paid", "channel":"bank"}) => WHERE xxx OR (`order`.`status`='paid' AND `order`.`channel`='bank')
这意味着 X条件或并带前缀 函数允许你在一个 WHERE 子句中指定多个条件,并且自动为这些条件的字段名加上一个指定的前缀,以便清晰地指向某个表或结构。它可以处理单个字段值的情况,也可以处理包含多个键值对的结构体,以生成更复杂的逻辑组合。 md5:2358d43541f472f5
func (*X结构_WhereBuilder) X条件或格式化 ¶
func (b *X结构_WhereBuilder) X条件或格式化(格式 string, 参数 ...interface{}) *X结构_WhereBuilder
X条件或格式化 使用fmt.Sprintf和参数构建`OR`条件字符串。 md5:aa04236f081a2885 Eg: X条件或格式化(`amount<? and status=%s`, "paid", 100) => WHERE xxx OR `amount`<100 and status='paid' X条件或格式化(`amount<%d and status=%s`, 100, "paid") => WHERE xxx OR `amount`<100 and status='paid'
func (*X结构_WhereBuilder) X条件或模糊匹配 ¶
func (b *X结构_WhereBuilder) X条件或模糊匹配(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件或模糊匹配 在 `OR` 条件中构建 `column LIKE 'like'` 语句。 md5:7a2d37411752fb51
func (*X结构_WhereBuilder) X条件或模糊匹配以外 ¶
func (b *X结构_WhereBuilder) X条件或模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件或模糊匹配以外 在 OR 条件中构建 `column NOT LIKE like` 语句。 md5:751e840816119632
func (*X结构_WhereBuilder) X条件或模糊匹配以外并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件或模糊匹配以外并带前缀 在 `OR` 条件下构建 `prefix.column NOT LIKE 'like'` 语句。 md5:2785cbc79e811104
func (*X结构_WhereBuilder) X条件或模糊匹配并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件或模糊匹配并带前缀在`OR`条件下构建`prefix.column LIKE 'like'`语句。 md5:c975b47e3a5cc2c1
func (*X结构_WhereBuilder) X条件或非Null ¶
func (b *X结构_WhereBuilder) X条件或非Null(字段名 ...string) *X结构_WhereBuilder
X条件或非Null 构建 `columns[0] IS NOT NULL OR columns[1] IS NOT NULL ...` 的 `OR` 条件语句。 md5:e122f662846a4ba4
func (*X结构_WhereBuilder) X条件或非Null并带前缀 ¶
func (b *X结构_WhereBuilder) X条件或非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
X条件或非Null并带前缀 在`OR`条件中构建`prefix.columns[0] IS NOT NULL OR prefix.columns[1] IS NOT NULL ...`语句。 md5:9ecd3bffabf47cb7
func (*X结构_WhereBuilder) X条件格式化 ¶
func (b *X结构_WhereBuilder) X条件格式化(格式 string, 参数 ...interface{}) *X结构_WhereBuilder
X条件格式化 使用 fmt.Sprintf 和参数构建条件字符串。 注意,如果`args`的数目超过`format`中的占位符, 多余的`args`将作为Model的WHERE条件参数。 例如: X条件格式化(`amount<? and status=%s`, "paid", 100) => WHERE `amount`<100 and status='paid' X条件格式化(`amount<%d and status=%s`, 100, "paid") => WHERE `amount`<100 and status='paid' md5:e4748efd7332202a
func (*X结构_WhereBuilder) X条件模糊匹配 ¶
func (b *X结构_WhereBuilder) X条件模糊匹配(字段名 string, 通配符条件值 string) *X结构_WhereBuilder
X条件模糊匹配 构建 `column LIKE like` 语句。 md5:5cf0790f9754307f
func (*X结构_WhereBuilder) X条件模糊匹配以外 ¶
func (b *X结构_WhereBuilder) X条件模糊匹配以外(字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件模糊匹配以外 构建 `column NOT LIKE like` 的 SQL 语句。 md5:683105cb42e27e3b
func (*X结构_WhereBuilder) X条件模糊匹配以外并带前缀 ¶
func (b *X结构_WhereBuilder) X条件模糊匹配以外并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件模糊匹配以外并带前缀构建`prefix.column NOT LIKE like`语句。 md5:083bd1d45c368a83
func (*X结构_WhereBuilder) X条件模糊匹配并带前缀 ¶
func (b *X结构_WhereBuilder) X条件模糊匹配并带前缀(字段前缀 string, 字段名 string, 通配符条件值 interface{}) *X结构_WhereBuilder
X条件模糊匹配并带前缀构建`prefix.column LIKE like`语句。 md5:baf08eac5c7dc2aa
func (*X结构_WhereBuilder) X条件非Null ¶
func (b *X结构_WhereBuilder) X条件非Null(字段名 ...string) *X结构_WhereBuilder
X条件非Null 构建 `columns[0] IS NOT NULL AND columns[1] IS NOT NULL ...` 语句。 md5:2444d6e2f6bcbf2d
func (*X结构_WhereBuilder) X条件非Null并带前缀 ¶
func (b *X结构_WhereBuilder) X条件非Null并带前缀(字段前缀 string, 字段名 ...string) *X结构_WhereBuilder
X条件非Null并带前缀 构建 `prefix.columns[0] IS NOT NULL AND prefix.columns[1] IS NOT NULL ...` 语句。 md5:d5a307a7c3004dda
func (*X结构_WhereBuilder) X浅拷贝对象 ¶
func (b *X结构_WhereBuilder) X浅拷贝对象() *X结构_WhereBuilder
X浅拷贝对象 克隆并返回一个与当前 WhereBuilder 相同的副本。 md5:d6ddf2152377c7f0
func (*X结构_WhereBuilder) X生成条件字符串及参数 ¶
func (b *X结构_WhereBuilder) X生成条件字符串及参数() (条件字符串 string, 参数 []interface{})
X生成条件字符串及参数构建当前的WhereBuilder,并返回条件字符串和参数。 md5:08aa1af8cbe06d71
type X结构_WhereHolder ¶
type X结构_WhereHolder struct { Type string // Type of this holder. Operator int // 该持有者的运算符。 md5:52eab23e6ea6fbdb Where interface{} // Where 参数,通常可以是字符串、映射或结构体类型。 md5:dc1254ec6b4f31fa Args []interface{} // where参数的arguments。 md5:3ae3eaf7373aa4ff Prefix string // 字段前缀,例如:"user.","order."。 md5:1fc1d00029c03395 }
X结构_WhereHolder是用于准备where条件的持有者。 md5:be3c4766444c1f3c
type X结构_配置 ¶
type X结构_配置 struct { Host string `json:"host"` // 服务器的主机,可以是 IP 地址或域名,如:127.0.0.1,localhost. md5:995f8d0f775d1561 Port string `json:"port"` // Port, it's commonly 3306. User string `json:"user"` // 身份验证用户名。 md5:bc205abcf7fb6329 Pass string `json:"pass"` // 认证密码。 md5:325b61eb5935f198 Name string `json:"name"` // 默认使用的数据库名称。 md5:13fed4b7ca845a3b Type string `json:"type"` // 数据库类型:mysql,mariadb,sqlite,mssql,pgsql,oracle,clickhouse,dm。 md5:6b9f1786cf5a0d7a Link string `json:"link"` // (可选)所有配置的自定义链接信息,作为一个单个字符串。 md5:cb9784decaebf7c3 Extra string `json:"extra"` // (可选)根据注册的第三方数据库驱动程序提供的额外配置。 md5:6ba9ea91183a2b0c Role string `json:"role"` // (可选,默认为"master")节点角色,用于主从模式:master, slave。 md5:9645d0e7417ebf0c Debug bool `json:"debug"` // (可选)调试模式启用调试信息日志和输出。 md5:e292d7585b9505f9 Prefix string `json:"prefix"` //(可选)表前缀。 md5:201acb7d8a3cfba7 DryRun bool `json:"dryRun"` // (可选)空跑特性,只执行 SELECT 语句,而不执行 INSERT/UPDATE/DELETE 语句。 md5:3983d4a8bb269d45 Weight int `json:"weight"` // (可选)用于负载均衡计算的权重,如果只有一个节点则无效。 md5:6be8657f1809396b Charset string `json:"charset"` // (可选,默认为 "utf8") 操作数据库时使用的自定义字符集。 md5:e63288ee7f2834e2 Protocol string `json:"protocol"` // (可选, 默认为 "tcp")有关可用网络的更多信息,请参阅 net.Dial。 md5:96a17fcac4ef394d Timezone string `json:"timezone"` // (可选)设置时区,用于显示和解释时间戳。 md5:f1c54d7158bc5e89 Namespace string `json:"namespace"` // (可选)某些数据库的命名空间。例如,在pgsql中,`Name` 用作 `catalog`,而 `NameSpace` 用作 `schema`。 md5:8dc2fa65d951a94e MaxIdleConnCount int `json:"maxIdle"` //(可选)底层连接池的最大空闲连接配置。 md5:b1f10cf73af643a1 MaxOpenConnCount int `json:"maxOpen"` //(可选)底层连接池的最大打开连接配置。 md5:bd8ec40915479f50 MaxConnLifeTime time.Duration `json:"maxLifeTime"` // (可选)连接在被关闭之前允许的最大空闲时间。 md5:b078efc5d928800a QueryTimeout time.Duration `json:"queryTimeout"` // (可选)每个DQL查询的最大时间。 md5:4c57cb456fb2ee8b ExecTimeout time.Duration `json:"execTimeout"` // (可选) DML的最大执行时间。 md5:481b9bbde2c49552 TranTimeout time.Duration `json:"tranTimeout"` //(可选)事务的最大执行时间。 md5:8e1cd855a33e2c6b PrepareTimeout time.Duration `json:"prepareTimeout"` // (可选)准备操作的最大执行时间。 md5:14739995bdfab318 CreatedAt string `json:"createdAt"` // (可选)自动填充创建时间的字段名。 md5:85fd52001481b733 UpdatedAt string `json:"updatedAt"` //(可选)自动填充更新日期时间的表字段名称。 md5:5d4aa50ffafb9f8e DeletedAt string `json:"deletedAt"` //(可选)自动填充更新日期时间的表字段名称。 md5:5d4aa50ffafb9f8e TimeMaintainDisabled bool `json:"timeMaintainDisabled"` // (可选)禁用自动时间保持功能。 md5:082a8741b2590acc }
X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) X结构_配置 是一个节点的配置信息。 备注: 此配置结构不做名称翻译, 防止通过map载入配置时, 会直接将文本名称转换成配置项名称, 导致找不到原名的配置项. (2024-07-21) md5:c441354f84b63933
Source Files ¶
- gdb.go
- gdb_core.go
- gdb_core_config.go
- gdb_core_ctx.go
- gdb_core_link.go
- gdb_core_stats.go
- gdb_core_structure.go
- gdb_core_trace.go
- gdb_core_transaction.go
- gdb_core_underlying.go
- gdb_core_utility.go
- gdb_driver_default.go
- gdb_driver_wrapper.go
- gdb_driver_wrapper_db.go
- gdb_func.go
- gdb_model.go
- gdb_model_builder.go
- gdb_model_builder_where.go
- gdb_model_builder_where_prefix.go
- gdb_model_builder_whereor.go
- gdb_model_builder_whereor_prefix.go
- gdb_model_cache.go
- gdb_model_delete.go
- gdb_model_fields.go
- gdb_model_hook.go
- gdb_model_insert.go
- gdb_model_join.go
- gdb_model_lock.go
- gdb_model_option.go
- gdb_model_order_group.go
- gdb_model_select.go
- gdb_model_soft_time.go
- gdb_model_transaction.go
- gdb_model_update.go
- gdb_model_utility.go
- gdb_model_where.go
- gdb_model_where_prefix.go
- gdb_model_whereor.go
- gdb_model_whereor_prefix.go
- gdb_model_with.go
- gdb_result.go
- gdb_schema.go
- gdb_statement.go
- gdb_type_record.go
- gdb_type_result.go
- gdb_type_result_scanlist.go