Repolode
diesel-rs

diesel-rs/diesel

面向 Rust 的安全、可扩展 ORM 与查询构建器,支持 PostgreSQL、MySQL、SQLite 和 MariaDB。

Star
14,212
Fork
1,252
未关闭 Issue
172
最近提交
前天

这是什么?

Diesel 是一个 Rust 的 ORM 与查询构建器,省去了把数据库行映射为结构体时的重复代码,并尽量把错误提前到编译期发现。它利用 Rust 的类型系统构建 SQL 查询,写法接近普通 Rust 代码,涵盖查询、过滤、排序、子查询、插入和更新等操作。

模型通过 Queryable、Selectable、Insertable 等派生宏以结构体形式声明,Diesel 据此生成行映射代码。当查询构建器无法满足需求时,开发者也可以用 sql_query 编写原生 SQL 并绑定带类型的参数。

该库支持 PostgreSQL、MySQL、SQLite 和 MariaDB,通过 Cargo 的 feature 选择数据库后端。项目官网提供入门教程,使用问题可在 GitHub Discussions 讨论。

核心功能

  • 01基于 Rust 类型在编译期检查查询
  • 02通过派生宏为结构体生成行映射代码
  • 03提供查询、过滤、排序和子查询的构建器
  • 04支持用结构体进行插入和更新,并可返回写入的行
  • 05原生 SQL 查询支持带类型的参数绑定

适用场景

  • 为连接 PostgreSQL 或 MySQL 的 Rust Web 后端编写数据访问层
  • 在 Rust 命令行工具或服务中实现类型安全的数据库操作
  • 在 Rust 桌面或嵌入式应用中使用 SQLite

快速上手

  1. 1

    在 Cargo.toml 中添加 diesel 并选择你的数据库后端特性

  2. 2

    按照 diesel.rs 上的入门教程操作

使用前须知

  • 除入门教程外,针对具体功能的指南仍在编写中。

标签

常见问题

diesel 是什么?
面向 Rust 的安全、可扩展 ORM 与查询构建器,支持 PostgreSQL、MySQL、SQLite 和 MariaDB。 Diesel 是一个 Rust 的 ORM 与查询构建器,省去了把数据库行映射为结构体时的重复代码,并尽量把错误提前到编译期发现。它利用 Rust 的类型系统构建 SQL 查询,写法接近普通 Rust 代码,涵盖查询、过滤、排序、子查询、插入和更新等操作。
diesel 可以免费使用吗?用的什么许可证?
diesel 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
diesel 还在维护吗?
活跃维护中。diesel 最近一次提交是在 2026年10月20日。
diesel 适合用来做什么?
为连接 PostgreSQL 或 MySQL 的 Rust Web 后端编写数据访问层 在 Rust 命令行工具或服务中实现类型安全的数据库操作 在 Rust 桌面或嵌入式应用中使用 SQLite
diesel 怎么安装和运行?
在 Cargo.toml 中添加 diesel 并选择你的数据库后端特性 按照 diesel.rs 上的入门教程操作
在哪里获取 diesel?
源代码和安装说明在 GitHub 上:https://github.com/diesel-rs/diesel

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目