数据库操作你是喜欢 ORM 还是手写 SQL

2017-09-28 19:58:12 +08:00
 twogoods
说说为什么?还有可以告诉我哪个语言下哪个库超好用吗?想多了解了解,尝试造个轮子,逃...
8973 次点击
所在节点    数据库
111 条回复
ericls
2017-09-28 21:19:36 +08:00
DSL -> ORM -> 手写
u5f20u98de
2017-09-28 21:28:04 +08:00
手写见过写出注入的,用 ORM 也见过用出注入的,总之变量不绑定好了都会处注入。
不过遇到的手写出注入的多一些。
aljun
2017-09-28 21:37:05 +08:00
@cholerae 你都手写数据库了,别虐我们了
Sapp
2017-09-28 22:04:55 +08:00
beego 用的 orm 感觉还可以,但是偶尔还是手写。
iRiven
2017-09-28 22:13:51 +08:00
手写 感觉 sql 就是艺术
gdtv
2017-09-28 22:14:57 +08:00
我喜欢手写
gefangshuai
2017-09-28 22:47:52 +08:00
我喜欢 no sql
ZXCDFGTYU
2017-09-28 22:47:59 +08:00
一般来说 ORM 大部分都是支持直接 query/execute sql 的,并且大部分也都支持 bind。我的 php 项目用的是 phalcon 框架,其中自带的 query/execute 方法可以直接 push sql 过去,其中 placeholder 就是用来绑定变量的。
Hstar
2017-09-28 23:01:16 +08:00
当然是用 ORM, 按我的理解, ORM 就是帮你生成 SQL 语句的转译器, 所以没有手写能实现但是 ORM 实现不了的情景. 如果遇上个冷门情景没有现成封装好的方法, 那么加一个好了. 手写 SQL 很溜的用 ORM 肯定更没问题.
WispZhan
2017-09-28 23:05:46 +08:00
Code First,ORM 优先。目前是 JPA 用的多。 有必要的话会使用混合 MyBatis 和手写存储过程。
zjsxwc
2017-09-28 23:14:50 +08:00
能 orm 就 orm,好处多多,代码复用方便,ide 自动推导不会犯错,有可以轻松实现大面积魔改, 实在不行才撸 sql
fxxkgw
2017-09-28 23:16:54 +08:00
混着用,关联查询还是手写方便些个人觉得。。
scnace
2017-09-28 23:28:47 +08:00
不知道大家怎么看代码里的大段的 SQL 一段很长的 SQL 执行一次 跟 短 SQL 执行多次 到底哪个好 感觉长 SQL 就建表时候的功力了…
simple_plan
2017-09-28 23:34:58 +08:00
混用 单表 orm 多表关联 sql
gclove
2017-09-28 23:35:54 +08:00
表关联尽量不要用数据库去实现

尽量 ORM 吧, 我感觉就像用 C 和 用汇编的区别一样
carlclone
2017-09-28 23:44:04 +08:00
手写的不是大神就是菜鸟,大部分都是菜鸟,写出一堆没法维护的东西
EchoUtopia
2017-09-28 23:57:16 +08:00
orm 可以很方便的复用数据对象
nekuata
2017-09-29 00:11:04 +08:00
MyBatis 不算 ORM 吧? Hibernate 也不推荐手写 SQL 而是 HQL

MyBatis & SQL 混用+1
incompatible
2017-09-29 00:23:56 +08:00
@IllBeBack 什么叫“防注入每次都要做“? 写 sql 时用?而不是直接拼 where 条件这是基本功好伐?
andrewpsy
2017-09-29 00:37:10 +08:00
嫌弃手写的应该都是不怎么写测试的。
我喜欢手写的性能。如果怕哪块手写的 SQL 不好维护,就加上些自动测试代码,性能安全妥妥的。

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

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

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

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

© 2021 V2EX