大家喜欢用纯 sql 还是 orm 框架?

2020-10-27 21:33:39 +08:00
 DelayNoMay

我个人比较喜欢纯 sql,因为比较好调试,好优化,适应性强,换 orm 框架,换语言后不用重新学习。最近我 leader 把我的纯 sql 改成了 orm 形式,说实话有点不爽

2906 次点击
所在节点    问与答
11 条回复
2kCS5c0b0ITXE5k2
2020-10-27 22:06:14 +08:00
人生苦短 我用 orm 。sql 一长看起来烦死了
zoharSoul
2020-10-27 22:07:29 +08:00
sql + mapping,
手动映射太费劲了. 还是自动的..
orm 写 sql 要学不少东西, 不如直接 sql 门槛低一点
blless
2020-10-27 22:19:20 +08:00
sql 注入了解一下,用框架不一定是为了省事
tairan2006
2020-10-27 22:31:15 +08:00
更喜欢 mybatis-plus 这种…复杂的直接写 sql,简单的代码里搞定
yyss8
2020-10-27 22:42:53 +08:00
不用 orm 但至少用 query builder 类的框架 至少不用担心 sql 注入之类的问题
有些语句复杂的 大部分 query builder 也支持用 raw sql
CEBBCAT
2020-10-27 23:23:46 +08:00
@blless 在用 go,SQL 都是先 prepare 再 exec 的,这样不就可以防止注入了吗?望赐教
blless
2020-10-27 23:40:57 +08:00
@CEBBCAT 你可以认为 orm 多了一层参数验证,至少要和参与查询的结构体绑定。顺便也 sql 结果解码成内存对象,省事
msg7086
2020-10-28 00:43:57 +08:00
纯 SQL 没什么问题,只要不拼参数就没事。
但是 ORM 比较方便自动优化,比如框架里可以根据参数做缓存,或者表连接给你智能拆分成多条查询等。
当然如果你们公司提倡加班,那自己花时间手动优化也不是不行……
我反正是懒,能让代码做的事情绝不浪费自己的时间。
labulaka521
2020-10-28 07:29:32 +08:00
用 sql 需要十行代码,而用了 orm 框架只需要三四行。
我正在把一个项目的的数据库查询由纯 sql 改成 orm 来查询,真的不需要写很多代码,尤其在查询很多次时,真的很方便 前面有人说换了语言后要重新写,每个语言的优秀 orm 框架就那个几个,学习新语言的时候顺便看看,了解一下 就好了呀,人生苦短,我用 orm 。
nutting
2020-10-28 09:09:59 +08:00
orm 有个问题你们怎么搞的,就是控制器接受入参,往往就直接用数据 entity 类了,我觉得这个做法很危险啊,被人知道可以篡改数据,加点限制条件也很繁琐啊。但是如果再定义一个 vo 类入参,set 到 entity 存储 是不是有点累赘,好像只能这样做?
nutting
2020-10-28 09:13:26 +08:00
发现项目里很多人偷懒就前者方案了,可能需求往往就是 CRUD 这样方便,又是不面向公众的系统总觉得安全性次之,很危险吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/719199

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX