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