← 学习中心

SQLx 与数据库访问

连接池、编译期检查查询与迁移直觉

本节你将能

用 SQLx 建连接池并执行一次查询(以 Postgres/MySQL 为例)。

直觉模型

SQLx 把 SQL 当一等公民:可用宏在编译期核对语句,运行时用池子复用连接。

核心要点

  • PgPoolOptions::new().connect(&url).await?
  • sqlx::query_as! / query! 做映射
  • 迁移(migrate)管理 schema 版本
// 示意:运行时查询
let row: (i64,) = sqlx::query_as("SELECT COUNT(*) FROM users")
    .fetch_one(&pool).await?;

常见误区

每次请求新建连接——务必使用池;密钥放环境变量,不进仓库。

动手

在本地起数据库,写 GET /users/:id 查一行(可用 docker compose)。

互动

测验:连接池的主要收益。

本节小结

下一节收尾:配置、构建产物与部署清单。

SQLx 与数据库访问 - 生命科学与前沿科技学习平台 | 必学必会