#toql #query #integration #mysql #structs #id

toql_mysql

为 toql 提供 mysql 集成的库

3 个版本

0.1.2 2019 年 5 月 20 日
0.1.1 2019 年 5 月 17 日
0.1.0 2019 年 5 月 15 日

#8 in #toql

MIT/Apache

380KB
9K SLoC

Toql

描述

Toql 传输对象查询语言 是一种构建 SQL 语句的查询语言。它可以从数据库中检索过滤、排序和单独选择的列,并将结果放入您的结构体中。

Toql 将此

id, (+age eq 16; age eq 18), address_street

转换为

SELECT user.id, user.age, address.street
FROM User user LEFt JOIN Address address ON (user.address_id= address.id)
WHERE user.age = 16 OR user.age = 18
ORDER BY user.age ASC

适用于所有您的 Toql 派生结构体。

资源

还有一份 指南API 文档

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
toql = { version = "0.1", features = ["mysql"] }

集成

Toql 与 Rocket 一起工作得很好:将以下内容添加到您的 Cargo.toml

[dependencies]
toql_rocket = { version = "0.1", features = ["mysql"] }

目前仅支持 MySql。将 features = ["mysql"] 添加到您的 Cargo.toml 依赖项中。

特性

Toql 传输对象查询语言 是一种构建 SQL 语句的查询语言。它可以从数据库中检索过滤、排序和单独选择的列,并将结果放入您的结构体中。

Toql

  • 可以查询、插入、更新和删除单个和多个数据库记录。
  • 通过 SQL 连接和合并处理查询中的依赖关系。酷!
  • 速度快,因为映射器只创建一次然后重用。
  • 提供高级和低级函数,用于速度和边缘情况。

贡献

我的近期目标是支持更多 Web 框架和数据库。然而,我首先想稳定 API。因此,欢迎您尝试和测试它(请勿在生产环境中使用)。欢迎评论、错误修复和质量改进。有关功能,请稍后再说。

其他数据库项目

背景

我在大约 7 年前为一个 Web 项目开发了 Toql 语言的初始版本。从那时起,我一直在改进它,您可以在 www.schoolsheet.com 上看到它的实际应用,这是一个我用 Java 创建的 Web 服务,用于我的教学。Rust 实现要快得多;)

许可

Toql 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

依赖关系

~17MB
~341K SLoC