Tiberius Row
tiberius_row 是一个Rust过程宏库,用于简化从Tiberius SQL Server客户端获取的行数据到Rust结构体的转换过程。
功能特点
- 提供
Row_Ext派生宏,自动为结构体实现从Tiberius行数据到Rust结构体的转换 - 支持多种SQL数据类型,包括整数、浮点数、字符串、日期时间等
- 使用serde进行数据反序列化,提供类型安全的数据访问
- 自动处理NULL值
- 提供友好的错误处理
安装
在你的Cargo.toml文件中添加以下依赖:
[]
= "0.1.0"
= { = "0.12.3", = ["chrono"] }
= { = "1.0", = ["derive"] }
= "1.0"
= "0.4.40"
= "0.9.34"
使用方法
- 首先,为你的结构体派生必要的特性:
use Deserialize;
use Row_Ext;
- 然后,你可以直接从Tiberius的Row转换为你的结构体:
use Result;
use Client;
async
支持的数据类型
- 整数类型:
i16,i32,i64,u8 - 浮点类型:
f32,f64 - 字符串:
String - 布尔值:
bool(通过Bit类型) - 日期时间:
chrono::DateTime<chrono::Utc> - 数值类型:
Numeric
错误处理
该库使用anyhow进行错误处理,当遇到不支持的列数据类型或反序列化失败时会返回适当的错误。
许可证
MIT
贡献
欢迎提交问题和拉取请求!