mysql

package
v0.0.0-...-5dd4bcd Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DB *gorm.DB

DB 数据库连接

Functions

func CloseDB

func CloseDB() error

CloseDB 关闭数据库连接

func GetDB

func GetDB() *gorm.DB

GetDB 获取数据库连接

func InitDB

func InitDB(config *config.Config) *gorm.DB

InitDB 初始化数据库连接

func Transaction

func Transaction(fn func(tx *gorm.DB) error) error

Transaction 事务处理

Types

type Condition

type Condition struct {
	Query interface{}
	Args  []interface{}
}

Condition 查询条件.

type PoolConfig

type PoolConfig struct {
	MaxOpenConns    int
	MaxIdleConns    int
	ConnMaxLifetime time.Duration
	ConnMaxIdleTime time.Duration
}

PoolConfig 连接池配置.

type QueryBuilder

type QueryBuilder struct {
	// contains filtered or unexported fields
}

QueryBuilder 查询构建器.

func NewQueryBuilder

func NewQueryBuilder(db *gorm.DB) *QueryBuilder

NewQueryBuilder 创建查询构建器.

func (*QueryBuilder) BatchCreate

func (qb *QueryBuilder) BatchCreate(values interface{}, batchSize int) error

BatchCreate 批量创建.

func (*QueryBuilder) BatchDelete

func (qb *QueryBuilder) BatchDelete(values interface{}) error

BatchDelete 批量删除.

func (*QueryBuilder) BatchUpdate

func (qb *QueryBuilder) BatchUpdate(values interface{}, batchSize int) error

BatchUpdate 批量更新.

func (*QueryBuilder) Clauses

func (qb *QueryBuilder) Clauses(conds ...clause.Expression) *QueryBuilder

Clauses 添加子句

func (*QueryBuilder) Count

func (qb *QueryBuilder) Count(count *int64) error

Count 获取记录数.

func (*QueryBuilder) Create

func (qb *QueryBuilder) Create(value interface{}) error

Create 创建记录.

func (*QueryBuilder) Debug

func (qb *QueryBuilder) Debug() *QueryBuilder

Debug 开启调试模式

func (*QueryBuilder) Delete

func (qb *QueryBuilder) Delete(value interface{}) error

Delete 删除记录.

func (*QueryBuilder) Exec

func (qb *QueryBuilder) Exec(sql string, values ...interface{}) error

Exec 执行SQL.

func (*QueryBuilder) Explain

func (qb *QueryBuilder) Explain() (string, error)

Explain 分析查询计划

func (*QueryBuilder) Find

func (qb *QueryBuilder) Find(dest interface{}) error

Find 获取多条记录.

func (*QueryBuilder) First

func (qb *QueryBuilder) First(dest interface{}) error

First 获取第一条记录.

func (*QueryBuilder) GetConditions

func (qb *QueryBuilder) GetConditions() []Condition

GetConditions 获取查询条件

func (*QueryBuilder) GetPoolStats

func (qb *QueryBuilder) GetPoolStats() (*sql.DBStats, error)

GetPoolStats 获取连接池统计信息

func (*QueryBuilder) GetSelectedFields

func (qb *QueryBuilder) GetSelectedFields() []string

GetSelectedFields 获取选择的字段

func (*QueryBuilder) Group

func (qb *QueryBuilder) Group(name string) *QueryBuilder

Group 分组.

func (*QueryBuilder) Having

func (qb *QueryBuilder) Having(query interface{}, args ...interface{}) *QueryBuilder

Having 分组条件.

func (*QueryBuilder) Joins

func (qb *QueryBuilder) Joins(query string, args ...interface{}) *QueryBuilder

Joins 连接.

func (*QueryBuilder) Limit

func (qb *QueryBuilder) Limit(limit int) *QueryBuilder

Limit 设置限制.

func (*QueryBuilder) MonitorPool

func (qb *QueryBuilder) MonitorPool()

MonitorPool 监控连接池

func (*QueryBuilder) Offset

func (qb *QueryBuilder) Offset(offset int) *QueryBuilder

Offset 设置偏移.

func (*QueryBuilder) Or

func (qb *QueryBuilder) Or(query interface{}, args ...interface{}) *QueryBuilder

Or 添加OR条件.

func (*QueryBuilder) Order

func (qb *QueryBuilder) Order(value interface{}) *QueryBuilder

Order 添加排序.

func (*QueryBuilder) Paginate

func (qb *QueryBuilder) Paginate(page, pageSize int, dest interface{}) (total int64, err error)

Paginate 分页.

func (*QueryBuilder) Pluck

func (qb *QueryBuilder) Pluck(column string, dest interface{}) error

Pluck 获取单个字段

func (*QueryBuilder) Preload

func (qb *QueryBuilder) Preload(query string, args ...interface{}) *QueryBuilder

Preload 预加载关联.

func (*QueryBuilder) Raw

func (qb *QueryBuilder) Raw(sql string, values ...interface{}) *QueryBuilder

Raw 执行原生SQL.

func (*QueryBuilder) Reset

func (qb *QueryBuilder) Reset() *QueryBuilder

Reset 重置查询

func (*QueryBuilder) Scan

func (qb *QueryBuilder) Scan(dest interface{}) error

Scan 扫描结果.

func (*QueryBuilder) Select

func (qb *QueryBuilder) Select(fields ...string) *QueryBuilder

Select 选择字段.

func (*QueryBuilder) Transaction

func (qb *QueryBuilder) Transaction(fc func(tx *gorm.DB) error) error

Transaction 事务.

func (*QueryBuilder) Unscoped

func (qb *QueryBuilder) Unscoped() *QueryBuilder

Unscoped 忽略软删除

func (*QueryBuilder) Updates

func (qb *QueryBuilder) Updates(attrs interface{}) error

Updates 更新记录.

func (*QueryBuilder) Where

func (qb *QueryBuilder) Where(query interface{}, args ...interface{}) *QueryBuilder

Where 添加查询条件.

func (*QueryBuilder) WithCache

func (qb *QueryBuilder) WithCache(redisClient *redisClient.Client, expiration time.Duration) *QueryBuilder

WithCache 启用缓存.

func (*QueryBuilder) WithContext

func (qb *QueryBuilder) WithContext(ctx context.Context) *QueryBuilder

WithContext 设置上下文.

func (*QueryBuilder) WithExplain

func (qb *QueryBuilder) WithExplain() *QueryBuilder

WithExplain 启用查询计划分析.

func (*QueryBuilder) WithMaxResultSize

func (qb *QueryBuilder) WithMaxResultSize(size int) *QueryBuilder

WithMaxResultSize 设置最大结果集大小.

func (*QueryBuilder) WithOptimisticLock

func (qb *QueryBuilder) WithOptimisticLock() *QueryBuilder

WithOptimisticLock 启用乐观锁

func (*QueryBuilder) WithPoolConfig

func (qb *QueryBuilder) WithPoolConfig(config *PoolConfig) *QueryBuilder

WithPoolConfig 配置连接池.

func (*QueryBuilder) WithSlowQueryThreshold

func (qb *QueryBuilder) WithSlowQueryThreshold(threshold time.Duration) *QueryBuilder

WithSlowQueryThreshold 设置慢查询阈值.

type QueryStats

type QueryStats struct {
	SQL       string
	Duration  time.Duration
	Rows      int64
	Timestamp time.Time
	IsSlow    bool
	Error     error
}

QueryStats 查询统计.

Jump to

Keyboard shortcuts

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