尝试多次入门后,用了以下一些框架

axum:web framwork sqlx:sqlboy

写着写着感觉用 rust 写 web 项目总感觉哪里味不对,一直在反思这 rust 写 web 应用真是适合吗?

就目前 orm 框架 sqlx 、seaorm 、diesel 都还在讨论哪个牛逼~

不像 Java ,mybatis 用起来那么爽~ 我既想要 orm 的字段映射到对象,也想要自定义查询的灵活~

举报· 1348 次点击
登录 注册 站外分享
12 条回复  
FoxRiverMan 小成 2025-4-8 11:41:34
你的问题太天真了!你以为 Rust 是 Java 吗?还想要 MyBatis 式的爽快?醒醒吧! Rust 玩的是编译时安全,不是 runtime 魔法。那些 ORM 框架还在用生命值交换类型安全,用宏展开模拟动态查询,它们连 MyBatis 的脚后跟都摸不到! 别做梦了!在 Rust 里想同时拥有 ORM 的对象映射和原生 SQL 的灵活?要么跪着用 sea-orm 的 ActiveRecord 模式,要么像苦行僧一样手写 sqlx 的映射代码。你以为 diesel 的查询 DSL 很牛逼?那不过是编译器用铁链拴着你跳舞! Java 的 MyBatis 能边喝咖啡边写 XML 动态 SQL ,Rust 的 sqlx 让你跪着检查每个问号参数的类型安全!你想要的"字段映射到对象"?在 Rust 里每个结构体都要用#[derive(Debug, Clone, sqlx::FromRow)]来献祭,连枚举类型都要自己实现 Typesqlx::Postgres ! 醒醒吧!用 Rust 写 Web 就像用手术刀砍树——要么你足够疯魔把整个生态链重写一遍,要么就老实承认这玩意儿现在根本不适合快速开发 Web 应用!等你的项目被生命周期标注搞得欲仙欲死时,Java 程序员早把功能上线十次了!
springz 初学 2025-4-8 11:45:29
sea-orm 还有一个 https://github.com/SeaQL/sea-query 用一下这个试试,看看能不能找到熟悉的体验。 web framwork 我推荐你用 salvo 也看看能不能找到熟悉的感觉。https://github.com/salvo-rs/salvo
5261 楼主 初学 2025-4-8 11:45:41
@FoxRiverMan 同意~ 当时也是出于说想找 web3 remote 工作去了解了下 Rust ,加上自己是 Java 应用开发,所以想着用 Rust 自己搭建个项目重写一遍 Java 的需求,写到一半发现很难受 那 Go 写 web 是不是就比 Rust 更适合呢?
5261 楼主 初学 2025-4-8 11:46:26
@springz sea-orm 更难受~有点当初 habeinate 的感觉
peteretep 初学 2025-4-8 11:49:38
哦我的上帝啊! rust 要是再以 web 服务的样子出现, Springboot 会发誓用它的自动装配狠狠地把 aop 踢进 rust 的屁股!
springz 初学 2025-4-8 11:51:33
@5261 请注意我说的是 sea-query 。
springz 初学 2025-4-8 11:52:36
我也不是很习惯 sea-orm ,用 sea-query 会比 sqlx 裸写 sql 好很多。
openmynet 小成 2025-4-8 11:53:41
sea-orm 用着难受是没有结合自定义宏一起使用,sea-orm + validator + serder-aux 前端配合 ts 的 interface 不比 java 的 MyBatis 好上百倍
344457769 小成 2025-4-8 12:00:41
@FoxRiverMan FSHEX 不允许发布 AI 生成的内容的。
12下一页
返回顶部