Documentation
¶
Overview ¶
Package sqlx 为 database/sql 提供了通用扩展。
它旨在无缝封装 database/sql,并提供在数据库驱动应用程序开发中 实用的便捷方法。所有底层的 database/sql 方法均保持不变。相反, 所有扩展行为都通过封装类型上定义的新方法实现。
新增的功能包括:结构体扫描、命名查询支持、针对不同驱动的查询重绑定、 常用错误处理的便捷简写等。
DDD 分层架构 ¶
本项目采用领域驱动设计(DDD)模式组织代码:
- core/(领域层):纯接口定义、Row/Rows 核心类型、绑定变量工具、扫描与查询纯函数
- db/(基础设施层):DB/Tx/Stmt/Conn 具体实现、命名查询支持、Context 感知方法
- reflectx/:反射扩展工具,提供结构体字段到名称的映射能力
- types/:SQL 扫描目标类型(JSON、GzippedText、BitBool 等)
所有公开 API 通过根包统一重导出,保证向后兼容性。
Index ¶
Constants ¶
View Source
const ( UNKNOWN = core.UNKNOWN QUESTION = core.QUESTION DOLLAR = core.DOLLAR NAMED = core.NAMED AT = core.AT )
-- 绑定变量常量 --
Variables ¶
View Source
var ( BindType = core.BindType BindDriver = core.BindDriver Rebind = core.Rebind RebindBuff = core.RebindBuff In = core.In )
-- 绑定变量函数 --
View Source
var ( Select = core.Select Get = core.Get MustExec = core.MustExec StructScan = core.StructScan SliceScan = core.SliceScan MapScan = core.MapScan ScanAll = core.ScanAll )
-- 扫描与查询函数 --
View Source
var ( IsScannable = core.IsScannable Mapper = core.Mapper FieldsByTraversal = core.FieldsByTraversal )
-- 辅助函数 --
View Source
var ( Connect = db.Connect MustConnect = db.MustConnect Open = db.Open MustOpen = db.MustOpen NewDb = db.NewDb Preparex = db.Preparex LoadFile = db.LoadFile )
-- 连接与预编译 --
View Source
var ( Named = db.Named NamedQuery = db.NamedQuery NamedExec = db.NamedExec BindNamed = db.BindNamed BindNamedMapper = db.BindNamedMapper BindStruct = db.BindStruct BindMap = db.BindMap BindArray = db.BindArray CompileNamedQuery = db.CompileNamedQuery FixBound = db.FixBound )
-- 命名查询 --
View Source
var ( IsUnsafe = db.IsUnsafe MapperFor = db.MapperFor )
-- 工具函数 --
View Source
var ( ConnectContext = db.ConnectContext SelectContext = db.SelectContext GetContext = db.GetContext MustExecContext = db.MustExecContext LoadFileContext = db.LoadFileContext PreparexContext = db.PreparexContext NamedQueryContext = db.NamedQueryContext NamedExecContext = db.NamedExecContext )
-- Context 函数 --
View Source
var NameMapper = core.NameMapper
-- 名称映射 --
Functions ¶
This section is empty.
Types ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package core 定义了 sqlx 的领域层接口与核心类型。
|
Package core 定义了 sqlx 的领域层接口与核心类型。 |
|
Package db 提供了 sqlx 的基础设施层实现。
|
Package db 提供了 sqlx 的基础设施层实现。 |
|
Package reflectx 实现了对标准 reflect 库的扩展,适用于实现序列化和 反序列化包。
|
Package reflectx 实现了对标准 reflect 库的扩展,适用于实现序列化和 反序列化包。 |
|
Package types 提供了一些实现了 sql.Scanner 和 driver.Valuer 接口的 实用类型,适合用作 database/sql 的扫描和赋值目标。
|
Package types 提供了一些实现了 sql.Scanner 和 driver.Valuer 接口的 实用类型,适合用作 database/sql 的扫描和赋值目标。 |
Click to show internal directories.
Click to hide internal directories.