yang-db
YANG 数据库操作库,提供类型安全的 MySQL 查询构建器。
功能特性
- 链式调用 API,提供流畅的开发体验
- 基于 sqlx 的异步数据库操作
- 类型安全,编译时捕获错误
- 防止 SQL 注入,使用参数化查询
- 支持事务管理
- 完善的错误处理和中文错误消息
依赖
sqlx: 异步 SQL 工具包,支持 MySQLtokio: 异步运行时serde: 序列化/反序列化thiserror: 错误处理chrono: 日期时间处理log: 日志记录
模块结构
database: 数据库连接管理query_builder: 查询构建器condition: 查询条件和 SQL 值类型field: 字段类型和 JOIN/ORDER 子句transaction: 事务管理error: 错误类型定义init: 数据库初始化
核心类型
DbError
统一的错误类型,包含:
ConnectionError: 连接错误QueryError: 查询错误SqlSyntaxError: SQL 语法错误ConstraintError: 约束错误TypeConversionError: 类型转换错误SerializationError: 序列化错误DeserializationError: 反序列化错误TransactionError: 事务错误TableNotFound: 表不存在MissingWhereClause: 缺少 WHERE 条件Unknown: 未知错误
SqlValue
SQL 值类型枚举,支持:
Null: NULL 值Bool: 布尔值Int: 整数(i64)Float: 浮点数(f64)String: 字符串Bytes: 字节数组Json: JSON 值DateTime: 日期时间Timestamp: 时间戳
FieldType
字段类型标记:
Standard: 标准类型Json: JSON 类型DateTime: DATETIME 类型Timestamp: TIMESTAMP 类型Decimal: DECIMAL 类型Blob: BLOB 类型Text: TEXT 类型
开发状态
当前已完成:
- ✅ 项目结构设置
- ✅ 核心类型定义
- ✅ 依赖配置
- ✅ 基础单元测试
待实现功能:
- 查询构建和执行
- CRUD 操作
- 事务管理
- JOIN 查询
- 聚合函数
- 原生 SQL 支持
测试
运行测试:
代码质量
# 检查代码
# 代码格式化
# 代码检查