16 个版本 (10 个破坏性更新)
0.11.3 | 2024 年 7 月 22 日 |
---|---|
0.10.0 | 2024 年 6 月 9 日 |
0.8.1 | 2024 年 3 月 18 日 |
0.6.0 | 2023 年 11 月 11 日 |
0.2.1 | 2022 年 11 月 19 日 |
#4 in #items
每月 535 次下载
用于 3 crates
130KB
2.5K SLoC
derive-sql
本项目定义了一种在 Rust 中与 SQL 数据库交互的方法 [目前仅支持 SQLite]。
该包中定义了一个名为 Sqlable
的特质,包含以下用于与数据库交互的函数:
count
用于提供表中项目数量的计数。select
用于返回表中的项目数组。insert
用于在表中插入新的项目。update
用于使用提供的项目值更新现有项目。delete
用于删除表中的项目。delete_table
用于删除表。
可选功能 sqlite
下提供了一个名为 DeriveSqlite
的过程宏。该过程宏可以将 Sqlable
特质应用于具有命名字段的 struct,以实现该特质。
如何使用
目前,该过程宏与 rusqlite
绑定,需要添加到您的 Cargo.toml
中。如果没有添加,则项目将无法编译。
要使用此项目的过程宏,请将以下内容添加到您的 Cargo.toml
中:
[dependencies]
derive-sql = { version = "0.5", features = [ 'sqlite' ] }
并按照以下方式注释您的 struct:
use derive_sql::{Sqlable, DeriveSqlite};
#[derive(DeriveSqlite)]
struct Person {
id: 32,
name: String,
}
并使用生成的函数:
- 查看文档页面;
- 使用
cargo doc --open
生成生成的函数的文档
检查 extras/derive-sql-sqlite/examples
文件夹中使用的内存中 SQLite 数据库的示例测试
cargo run --example simple --features sqlite
cargo run --example attributes --features sqlite
在 extras/derive-sql-mysql/examples
文件夹中检查使用 MySQL 数据库的示例测试
cargo run --example simple_mysql --features mysql
cargo run --example attributes_mysql --features mysql
许可证
该项目受 MIT 许可证 许可。
依赖项
~2–18MB
~246K SLoC