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)。
互动
测验:连接池的主要收益。
本节小结
下一节收尾:配置、构建产物与部署清单。