sqld

package
v1.0.65 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JID      = "id"
	BID      = "_id"
	COUNT_BY = "COUNT_BY"
	MASTER   = "MASTER"
)

Variables

This section is empty.

Functions

func DataToMap

func DataToMap(fieldArray []reflect.StructField, raw [][]byte) (string, error)

结果集根据对象字段类型填充到map实例

func EchoResultRows

func EchoResultRows(rows *sql.Rows, len int) ([][][]byte, error)

输出查询结果集

Types

type CountResult added in v1.0.30

type CountResult struct {
	Total int64 `bson:"COUNT_BY"`
}

type DBConfig

type DBConfig struct {
	Host        string // 地址IP
	Port        int    // 数据库端口
	Database    string // 数据库名称
	Username    string // 账号
	Password    string // 密码
	Debug       bool   // debug模式
	CacheSync   bool   // 是否缓存数据
	DsName      string // 数据源名称
	Node        int    // 节点
	AutoID      bool   // 自主ID模式
	SlowQuery   int64  // 0.不开启筛选 >0开启筛选查询 毫秒
	SlowLogPath string // 慢查询写入地址
}

数据库配置

type DBManager

type DBManager struct {
	Option
	Debug        bool          // debug模式
	CacheManager cache.ICache  // 缓存管理器
	CacheObject  []interface{} // 需要缓存的数据 CacheSync为true时有效
	CacheCnd     *sqlc.Cnd     // 需要缓存的条件对象 CacheSync为true时有效
	Errors       []error       // 错误异常记录
}

数据库管理器

func (*DBManager) BuilGroupBy

func (self *DBManager) BuilGroupBy(cnd *sqlc.Cnd) string

func (*DBManager) BuilSortBy

func (self *DBManager) BuilSortBy(cnd *sqlc.Cnd) string

func (*DBManager) BuildCondKey

func (self *DBManager) BuildCondKey(cnd *sqlc.Cnd, key string) string

func (*DBManager) BuildPagination

func (self *DBManager) BuildPagination(cnd *sqlc.Cnd, sql string, values []interface{}) (string, error)

func (*DBManager) BuildWhereCase

func (self *DBManager) BuildWhereCase(cnd *sqlc.Cnd) (bytes.Buffer, []interface{})

func (*DBManager) Close

func (self *DBManager) Close() error

func (*DBManager) Count

func (self *DBManager) Count(cnd *sqlc.Cnd) (int64, error)

func (*DBManager) Delete

func (self *DBManager) Delete(datas ...interface{}) error

func (*DBManager) DeleteByIDs added in v1.0.61

func (self *DBManager) DeleteByIDs(data interface{}, ids ...interface{}) error

func (*DBManager) Error

func (self *DBManager) Error(data interface{}) error

func (*DBManager) FindById

func (self *DBManager) FindById(data interface{}) error

func (*DBManager) FindComplex

func (self *DBManager) FindComplex(cnd *sqlc.Cnd, data interface{}) error

func (*DBManager) FindList

func (self *DBManager) FindList(cnd *sqlc.Cnd, data interface{}) error

func (*DBManager) FindOne

func (self *DBManager) FindOne(cnd *sqlc.Cnd, data interface{}) error

func (*DBManager) GetDB

func (self *DBManager) GetDB(option ...Option) error

func (*DBManager) InitConfig

func (self *DBManager) InitConfig(input interface{}) error

func (*DBManager) Save

func (self *DBManager) Save(datas ...interface{}) error

func (*DBManager) Update

func (self *DBManager) Update(datas ...interface{}) error

func (*DBManager) UpdateByCnd added in v1.0.45

func (self *DBManager) UpdateByCnd(cnd *sqlc.Cnd) error

type FieldKeyKind added in v1.0.23

type FieldKeyKind struct {
	Name   string
	Kind   string
	IsDate bool
}

type IDBase

type IDBase interface {
	// 初始化数据库配置
	InitConfig(input interface{}) error
	// 获取数据库管理器
	GetDB(option ...Option) error
	// 保存数据
	Save(datas ...interface{}) error
	// 更新数据
	Update(datas ...interface{}) error
	// 按条件更新数据
	UpdateByCnd(cnd *sqlc.Cnd) error
	// 删除数据
	Delete(datas ...interface{}) error
	// 删除数据(ID列表)
	DeleteByIDs(data interface{}, ids ...interface{}) error
	// 统计数据
	Count(cnd *sqlc.Cnd) (int64, error)
	// 按ID查询单条数据
	FindById(data interface{}) error
	// 按条件查询单条数据
	FindOne(cnd *sqlc.Cnd, data interface{}) error
	// 按条件查询数据
	FindList(cnd *sqlc.Cnd, data interface{}) error
	// 按复杂条件查询数据
	FindComplex(cnd *sqlc.Cnd, data interface{}) error
	// 构建数据表别名
	BuildCondKey(cnd *sqlc.Cnd, key string) string
	// 构建逻辑条件
	BuildWhereCase(cnd *sqlc.Cnd) (bytes.Buffer, []interface{})
	// 构建分组条件
	BuilGroupBy(cnd *sqlc.Cnd) string
	// 构建排序条件
	BuilSortBy(cnd *sqlc.Cnd) string
	// 构建分页条件
	BuildPagination(cnd *sqlc.Cnd, sql string, values []interface{}) (string, error)
	// 数据库操作缓存异常
	Error(data interface{}) error
}

orm数据库接口

type MGOConfig

type MGOConfig struct {
	DBConfig
	Addrs         []string
	Direct        bool
	Timeout       int64
	Database      string
	Username      string
	Password      string
	PoolLimit     int
	ConnectionURI string
}

数据库配置

type MGOManager

type MGOManager struct {
	DBManager
	Session *mgo.Session
}

数据库管理器

func (*MGOManager) Close

func (self *MGOManager) Close() error

func (*MGOManager) Count

func (self *MGOManager) Count(cnd *sqlc.Cnd) (int64, error)

统计数据

func (*MGOManager) Delete

func (self *MGOManager) Delete(datas ...interface{}) error

func (*MGOManager) DeleteByIDs added in v1.0.61

func (self *MGOManager) DeleteByIDs(data interface{}, ids ...interface{}) error

func (*MGOManager) FindList

func (self *MGOManager) FindList(cnd *sqlc.Cnd, data interface{}) error

查询多条数据

func (*MGOManager) FindOne

func (self *MGOManager) FindOne(cnd *sqlc.Cnd, data interface{}) error

查询单条数据

func (*MGOManager) Get

func (self *MGOManager) Get(option ...Option) (*MGOManager, error)

func (*MGOManager) GetDB

func (self *MGOManager) GetDB(option ...Option) error

func (*MGOManager) GetDatabase

func (self *MGOManager) GetDatabase(copySession *mgo.Session, data interface{}) (*mgo.Collection, error)

获取mongo的数据库连接

func (*MGOManager) InitConfig

func (self *MGOManager) InitConfig(input ...MGOConfig) error

func (*MGOManager) InitConfigAndCache

func (self *MGOManager) InitConfigAndCache(manager cache.ICache, input ...MGOConfig) error

func (*MGOManager) Save

func (self *MGOManager) Save(datas ...interface{}) error

保存或更新数据到mongo集合

func (*MGOManager) Update

func (self *MGOManager) Update(datas ...interface{}) error

保存或更新数据到mongo集合

func (*MGOManager) UpdateByCnd added in v1.0.45

func (self *MGOManager) UpdateByCnd(cnd *sqlc.Cnd) error

根据条件更新数据

type MysqlConfig

type MysqlConfig struct {
	DBConfig
	MaxIdleConns    int
	MaxOpenConns    int
	ConnMaxLifetime int
}

mysql配置参数

type MysqlManager

type MysqlManager struct {
	RDBManager
}

mysql连接管理器

func (*MysqlManager) Get

func (self *MysqlManager) Get(option ...Option) (*MysqlManager, error)

func (*MysqlManager) InitConfig

func (self *MysqlManager) InitConfig(input ...MysqlConfig) error

func (*MysqlManager) InitConfigAndCache

func (self *MysqlManager) InitConfigAndCache(manager cache.ICache, input ...MysqlConfig) error

type Option

type Option struct {
	Node         int          // 节点
	AutoID       bool         // 自主ID模式
	AutoTx       bool         // 是否自动事务提交 false.否 true.是
	DsName       string       // 数据源,分库时使用
	CacheSync    bool         // 是否数据缓存,比如redis,mongo等
	CacheManager cache.ICache // 缓存管理器
	SlowQuery    int64        // 0.不开启筛选 >0开启筛选查询 毫秒
	SlowLogPath  string       // 慢查询写入地址
}

数据选项

type RDBManager

type RDBManager struct {
	DBManager
	Db *sql.DB
	Tx *sql.Tx
}

关系数据库连接管理器

func (*RDBManager) AddCacheSync

func (self *RDBManager) AddCacheSync(models ...interface{}) error

添加缓存同步对象

func (*RDBManager) AddCacheSync2 added in v1.0.45

func (self *RDBManager) AddCacheSync2(cnd *sqlc.Cnd) error

添加缓存同步对象

func (*RDBManager) BuilGroupBy

func (self *RDBManager) BuilGroupBy(cnd *sqlc.Cnd) string

构建分组命令

func (*RDBManager) BuilSortBy

func (self *RDBManager) BuilSortBy(cnd *sqlc.Cnd) string

构建排序命令

func (*RDBManager) BuildCondKey

func (self *RDBManager) BuildCondKey(cnd *sqlc.Cnd, key string) string

基础条件判定是否有数据库别名

func (*RDBManager) BuildPagination

func (self *RDBManager) BuildPagination(cnd *sqlc.Cnd, sqlbuf string, values []interface{}) (string, error)

构建分页命令

func (*RDBManager) BuildWhereCase

func (self *RDBManager) BuildWhereCase(cnd *sqlc.Cnd) (bytes.Buffer, []interface{})

构建where条件

func (*RDBManager) Close

func (self *RDBManager) Close() error

func (*RDBManager) Count

func (self *RDBManager) Count(cnd *sqlc.Cnd) (int64, error)

根据条件统计查询

func (*RDBManager) Delete

func (self *RDBManager) Delete(datas ...interface{}) error

func (*RDBManager) FindById

func (self *RDBManager) FindById(data interface{}) error

按ID查询单条数据

func (*RDBManager) FindComplex

func (self *RDBManager) FindComplex(cnd *sqlc.Cnd, data interface{}) error

func (*RDBManager) FindList

func (self *RDBManager) FindList(cnd *sqlc.Cnd, data interface{}) error

func (*RDBManager) FindOne

func (self *RDBManager) FindOne(cnd *sqlc.Cnd, data interface{}) error

按条件查询单条数据

func (*RDBManager) GetDB

func (self *RDBManager) GetDB(option ...Option) error

func (*RDBManager) MapperList added in v1.0.23

func (self *RDBManager) MapperList(rows *sql.Rows, model interface{}, resultv interface{}) error

func (*RDBManager) MapperOne added in v1.0.23

func (self *RDBManager) MapperOne(rows *sql.Rows, model interface{}) error

func (*RDBManager) Save

func (self *RDBManager) Save(datas ...interface{}) error

func (*RDBManager) Update

func (self *RDBManager) Update(datas ...interface{}) error

func (*RDBManager) UpdateByCnd added in v1.0.45

func (self *RDBManager) UpdateByCnd(cnd *sqlc.Cnd) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL