2 个不稳定版本
0.2.0 | 2022年10月6日 |
---|---|
0.1.0 | 2022年7月6日 |
#1473 在 数据库接口
34KB
1K SLoC
datastore-mysql
使用 MySQL 数据库的数据存储库实现。
使用方法
将以下内容添加到您的 Cargo.toml
datastore-mysql = "0.1.0"
更多信息可以在 docs.rs 上找到。
许可证
该项目可选择在 MIT 许可证 或 Apache 许可证,版本 2.0 下进行许可。
lib.rs
:
datastore-mysql
此 crate 提供 MySqlStore
,它是一个使用 MySQL 数据库的 Store
实现。
MySqlStore
支持以下类型
bool
i8
,i16
,i32
,i64
u8
,u16
,u32
,u64
f32
,f64
&str
,String
&[u8]
,Vec<u8>
示例
use datastore::{Store, StoreExt, StoreData};
use datastore_mysql::MySqlStore;
#[derive(Debug, StoreData)]
pub struct Person {
id: i64,
name: String,
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let store = MySqlStore::connect("mysql://user:password@host/database").await?;
let person = Person {
id: 1,
name: String::from("Robb"),
};
store.insert(store.descriptor::<Person>(), person).await?;
let persons: Vec<Person> = store.get_all(store.descriptor::<Person>()).await?;
println!("{:?}", persons);
Ok(())
}
依赖项
~20–32MB
~606K SLoC