< 返回版块

axzsd 发表于 2021-03-25 10:58

Tags:sqlx,database

[图片] 问一下,这个pool需要做成全局变量嘛?还是需要数据库连接的时候再新建?

评论区

写评论
作者 axzsd 2021-03-25 15:39

好的,谢谢!

--
👇
gwy15: 一般是由 app 实例(比如 actix 或者 rocket)持有,需要的时候用提取器拿

gwy15 2021-03-25 14:04

一般是由 app 实例(比如 actix 或者 rocket)持有,需要的时候用提取器拿

作者 axzsd 2021-03-25 10:59
use sqlx::postgres::PgPoolOptions;
// use sqlx::mysql::MySqlPoolOptions;
// etc.

#[async_std::main]
// or #[tokio::main]
async fn main() -> Result<(), sqlx::Error> {
    // 这里的pool是做成全局变量嘛
    let pool = PgPoolOptions::new()
        .max_connections(5)
        .connect("postgres://postgres:password@localhost/test").await?;

    // Make a simple query to return the given parameter
    let row: (i64,) = sqlx::query_as("SELECT $1")
        .bind(150_i64)
        .fetch_one(&pool).await?;

    assert_eq!(row.0, 150);

    Ok(())
}
1 共 3 条评论, 1 页