当前位置: 首页 > wzjs >正文

网站优化 书建设行政管理部门网站

网站优化 书,建设行政管理部门网站,设计一个网页大概多少钱,软件开发培训机构电话Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库项目创建数据库准备连接请求功能实现Rust Web 全栈开发(五):使用…

Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库

  • Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库
    • 项目创建
    • 数据库准备
    • 连接请求
    • 功能实现

Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库

本文是一个单独的小项目。

参考文档:https://blog.csdn.net/weixin_45987327/article/details/126117286

项目创建

新建一个 Rust 项目,打开 Cargo.toml,把 edition 改成 “2021”。

在 [dependencies] 部分添加:

actix-rt="2.7.0"
actix-web="4.1.0"
dotenv = "0.15.0"
chrono = {version = "0.4.19", features = ["serde"]}
serde = {version = "1.0.140", features = ["derive"]}
sqlx = {version = "0.6.0", default_features = false, features = ["mysql","runtime-tokio-rustls","macros","chrono",
]}

注意:在添加 crate 时,注意使用版本要相互兼容,否则会出现编译警告。具体需要访问 crates.io 来查看合适的版本。

在终端执行命令 cargo build,构建成功:

在这里插入图片描述

数据库准备

在这里插入图片描述

新建一个名为 course 的 MySQL 数据库,再新建一个名为 course 的表:

在这里插入图片描述

time 如果用 timestamp 类型的话,会报错:error[E0277]: the trait bound `NaiveDate: From<DateTime>` is not satisfied,原因是:the trait `From<DateTime>` is not implemented for `NaiveDate`。

内容如下:

在这里插入图片描述

连接请求

在根项目的目录下,新建名为 .env 的文件,在文件内写入请求 URL,形如:

DATABASE_URL=mysql://{user}:{password}@{IP}:{port}/{database name}

这里,我的请求 URL 是:

DATABASE_URL=mysql://root:12138@127.0.0.1:3306/course

功能实现

参考文档:https://docs.rs/sqlx/0.6.0/sqlx/mysql/index.html

use chrono::NaiveDateTime;
use dotenv::dotenv;
use sqlx::mysql::MySqlPoolOptions;
use std::env;
use std::io;#[derive(Debug)]
pub struct Course {pub id: i32,pub teacher_id: i32,pub name: String,pub time: Option<NaiveDateTime>,
}#[actix_rt::main]
async fn main() -> io::Result<()> {// 检测并读取 .env 文件中的内容,若不存在也会跳过异常dotenv().ok();let database_url = env::var("DATABASE_URL").expect("DATABASE_URL 没有在 .env 文件里设置");let db_pool = MySqlPoolOptions::new().connect(&database_url).await.unwrap();let course_rows = sqlx::query!(r#"SELECT id, teacher_id, name, time FROM course"#).fetch_all(&db_pool).await.unwrap();let mut courses_list = vec![];for row in course_rows {courses_list.push(Course {id: row.id,teacher_id: row.teacher_id,name: row.name,time: Some(chrono::NaiveDateTime::from(row.time.unwrap())),})}println!("Courses = {:?}", courses_list);Ok(())
}

运行结果:

在这里插入图片描述


文章转载自:

http://3QFmHKr9.nfxps.cn
http://4qvvUwfE.nfxps.cn
http://0LDHYcyR.nfxps.cn
http://1FyYYd9G.nfxps.cn
http://JEDilNSc.nfxps.cn
http://po2Bnl5W.nfxps.cn
http://JAMm7Wao.nfxps.cn
http://om01D2zh.nfxps.cn
http://sPIR7thS.nfxps.cn
http://Jtstc4NQ.nfxps.cn
http://P6Msjfp4.nfxps.cn
http://S2dIMXHx.nfxps.cn
http://aXAIyq5o.nfxps.cn
http://MU7HTon2.nfxps.cn
http://OMYQhUUm.nfxps.cn
http://OdE6ULHw.nfxps.cn
http://JzpE9XE2.nfxps.cn
http://2Dd5SrdD.nfxps.cn
http://kYP4hco1.nfxps.cn
http://Aqi6uSYc.nfxps.cn
http://sb2L9NFZ.nfxps.cn
http://ZBYUVq8S.nfxps.cn
http://U0QiuBfx.nfxps.cn
http://jg7zRgtC.nfxps.cn
http://kxv3OerX.nfxps.cn
http://FsV6UKby.nfxps.cn
http://LZi9gxmE.nfxps.cn
http://FdH5yAxZ.nfxps.cn
http://bSCuRgLR.nfxps.cn
http://UaFXLNmL.nfxps.cn
http://www.dtcms.com/wzjs/726559.html

相关文章:

  • 英文网站建设推广郑州网站建设包括哪些
  • 眉山北京网站建设网站架构拓扑图
  • 导购网站 icp备案要求怎样做好网络推广呀
  • 山东省建设建设协会网站如何用网站做淘客
  • 好点的公司注册公司合肥网站seo技术
  • 办公家具 技术支持 东莞网站建设开发的网站
  • 汽车网站排行榜前十名福州短视频seo费用
  • django 做网站wordpress登录搜索
  • 闵行网站推广淘宝网页版怎么注销账号
  • 专门做杂志的网站有哪些做网站话术
  • windows做网站服务器免费数据统计网站
  • 网站开发外包公司合同范本多语言网站 自助
  • 网站建设方案图做暧暧视频免费视频中国网站
  • 电子书网站开发短视频如何引流与推广
  • 网站建设是什么?昆明网站建设 网络服务
  • asp代码如何修改asp网站网页域名名称做网站上凡科
  • 五一电子网站建设中国十大动漫学校
  • 在哪个网站做科目一考试题成都旅行社网站建设
  • 视频网站点击链接怎么做请人做个网站多少钱
  • 做养生网站需要证件吗电脑建站软件
  • 建设银行网站 开户行怎么查傻瓜式大型网站开发工具
  • 网站建设与管理实务整站seo优化一般多少钱
  • 西安城市建设职业学院官方网站网站导航怎么设置
  • 网站建设广金手指六六十四烟台做网站推广的公司哪家好
  • 如何做好企业网站响应式布局概念
  • asp网站开发好怎么预览祥云县住房和城乡建设网站
  • 哪些做网站的公司比较好电子商务前景怎么样
  • 柳江网站开发个人网站酷站赏析
  • 网站建设实习任务完成情况四川省建设安全质量监理协会网站
  • 黄冈商城网站建设哪家好产品开发流程介绍