#mysql #data-store

datastore-mysql

使用 MySQL 数据库的数据存储库

2 个不稳定版本

0.2.0 2022年10月6日
0.1.0 2022年7月6日

#1473数据库接口

MIT/Apache

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