#sqlx #macro #time #compiling #replace #user #sqlx-macros

sqlx_macro_ex

宏替代 sqlx-macros,无需编译时间

2 个不稳定版本

0.2.0 2024年8月18日
0.1.0 2023年8月29日

1733数据库接口

Download history 109/week @ 2024-08-16

每月109次下载

MIT 协议

4KB

Sql 宏 Ex

仅用于不进行编译时间检查。

示例


#[derive(Debug, FromRow)]
struct User {
    uid: i32,
    name: String,
}

async fn insert_user(db: &DB, user: &User) -> sqlx::Result<()> {
    sqlx_macro_ex::query!(
        r#"
        insert into user(uid, name)
        values(?, ?)
        "#,
        &user.uid,
        &user.name,
    ).execute(mdb).await?;
    Ok(())
}

async fn get_user_with_uid(db: &DB, uid: i32) -> sqlx::Result<User> {
    sqlx_macro_ex::query_as!(
        User,
        r#"
        select * from user
        where uid = ?
        "#,
        uid
    ).fetch_one(db).await
}

async fn get_user_names__in_range(db: &DB, uid: i32) -> sqlx::Result<Vec<String>> {
    sqlx_macro_ex::query_scalar!(
        String,
        r#"
        select name from user
        where uid < ?
        "#,
        uid
    ).fetch_all(db).await
}

无运行时依赖