AXUM和sqlx

AXUM和sqlx

本专题将讨论 sqlx 的用法:Rust 枚举与 MySQL 的映射、基本的增删改查操作、事务及复杂查询的构建和典型的`IN`查询的构建等。当然,我们会将它们集成在 axum 中。
已完结免费
  • 开始之前,我们需要一些准备工作,包括:创建用于演示的数据库及数据、创建一个 Rust 项目以及为项目编写一些基础性代码。

  • 本章将讨论 sqlx 的查询构造器。sqlx 提供了多种查询构造器:`query`、`query_as`、`query!`、`query_as!`、`QueryBuilder`等,合理使用将提升效率。这些查询构造器用来生成数据库所需要的 SQL 语句,不要被它们的名字迷惑了——认为它们是用来查询数据(SQL中的`SELECT`行为)

  • 本章将讨论使用 sqlx 执行 `SELECT` 语句,对数据进行查询。

  • 本章将讨论使用 sqlx 进行增删改(`INSERT/DELETE/UPDATE`)操作。

  • 本章我们将通过用户之间转账来讨论 sqlx 的事务。为了保证转账的完整性、正确性,我们必须使用事务来处理。

  • 本章我们讨论如何优雅方便地使用 sqlx 构建复杂的、动态的 SQL。sqlx 提供了 [`QueryBuilder`](https://docs.rs/sqlx/latest/sqlx/struct.QueryBuilder.html) 结构体,它可以方便地实现 SQL 的构建。

  • 在日常开发中,`IN` 查询是非常常见的需求,你会怎么来处理呢?借助 sqlx 的`QueryBuilder` 可以方便地实现。