一、添加mysql依赖
sqlx 是同时支持tokio2.0和async-std的异步mysql
[dependencies]
tokio = {version = "0.2.15", features = ["full"] }
sqlx = {version = "0.3", default-features = false, features = ["runtime-tokio", "mysql", "chrono"]}
PS: 为什么不添加macro的feature,是因为这些宏的使用,需要在编译器连接到数据库才行
二、设置database_url,创建连接池
DSN:mysql://root:root@127.0.0.1:3306/testdb
支持的连接池的参数如下:
pub max_size: u32, // 连接池的上限
pub connect_timeout: Duration, // 连接超时时间
pub min_size: u32, // 连接池的下限
pub max_lifetime: Option, // 所有连接的最大生命周期
pub idle_timeout: Option, // 空闲连接的生命周期
创建连接池:
let pool = sqlx::MySqlPool::builder().
max_size(100).
min_size(10).
connect_timeout(std::time::Duration::from_secs(10)).
max_lifetime(std: