SZ-ORM QueryBuilder — 独立 SQL 构造器(sea-query 风格)
一个不绑定 Model 的纯 SQL 构造器,可独立编译、独立发布到 crates.io。
设计灵感来自 sea-query:
- 与 ORM 解耦:不依赖
Modeltrait,纯 SQL 构造 - 多方言支持:通过 [
DbType] 适配 MySQL/PostgreSQL/SQLite/Oracle - 链式 API:所有方法返回
Self - 零运行时开销:构造过程零数据库连接
快速入门
use DbType;
use ;
// SELECT
let sql = select
.column
.column
.from
.where_clause
.order_by
.limit
.build;
assert!;
assert!;
// INSERT
let sql = insert
.into_table
.value
.value
.build;
assert!;
// UPDATE
let sql = update
.table
.set
.where_clause
.build;
assert!;
// DELETE
let sql = delete
.from_table
.where_clause
.build;
assert!;
与 sz-orm-core::QueryBuilder 的区别
| 特性 | sz-orm-core::QueryBuilder<M> |
sz-orm-query-builder::Query |
|---|---|---|
| 绑定 Model | 是(<M: Model>) |
否 |
| 类型安全 | 编译期表/列校验 | 运行时字符串 |
| 适用场景 | ORM 完整流程 | 纯 SQL 构造、动态查询 |
| 依赖 | sz-orm-core 全部 | 仅 dialect 模块 |
| 独立发布 | 否 | 是 |