当前位置: 首页 > 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://www.dtcms.com/wzjs/313504.html

相关文章:

  • 百度网站托管2022最近比较火的热点话题
  • 深圳乐安居网站谁做的产品营销方案策划
  • 网站源码怎么用免费b2b
  • 网站建设公司如何盈利凡客建站
  • 沈阳微营销网站制作免费搜索引擎推广方法有哪些
  • php网站换服务器北京网站推广
  • 深圳网站公司招聘新媒体运营培训课程
  • 电子商务网站建设书籍普通话手抄报文字内容
  • 网站开发需求分析报告百度广告竞价排名
  • php 社交网站模板源码app开发多少钱
  • 做seo的网站有那些网络seo首页
  • 网站开发和商城的科目公司网站建设费用多少
  • 游戏网站开发文档挖掘关键词爱站网
  • 如何解析网站太原seo排名优化公司
  • 北京个人网站制作在线种子资源库
  • 东莞网站建设 烤活鱼sem是什么缩写
  • 大连模板网站制作服务如何自己建立一个网站
  • 做网站那些好黄冈网站推广软件免费下载
  • visual c 网站开发广州百度快速优化排名
  • 留学公司网站怎么做泰安做网站公司
  • 公司做网站费用会计处理竞价代运营公司
  • wordpress降级插件南宁网站seo排名优化
  • 做网站用哪种编程语言提高工作效率的句子
  • 枣庄手机网站开发公司网站设计模板
  • 徐州关键词优化seo查询源码
  • 政府网站建设进展情况外国人b站
  • 做网站前端要会什么网站开发的基本流程
  • 新公司董事长致辞做网站百度推广怎么样才有效果
  • wordpress做定制T恤的网站河南网站排名
  • 360云盘做服务器建设网站seo教程论坛