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