各位的代码里还在用 SQL 语句吗?怎么管理的

2018-11-11 14:51:38 +08:00
 magicdu
如题,大家或者大家的公司怎么处理业务逻辑复杂的 SQL 语句呢,用 mybatis 呢?还是干脆舍弃了 SQL 呢,采用其他的方式呢?
14737 次点击
所在节点    Java
104 条回复
lj3lj3
2018-11-12 09:03:34 +08:00
JOOQ+SimpleFlatMapper 感觉比 QueryDSL 稍微顺畅一点
micean
2018-11-12 09:06:50 +08:00
就算是现有的 ORM 框架也总会有手写 SQL 的接口
passerbytiny
2018-11-12 09:11:05 +08:00
@gowk #16 照你 1、2 的说法,你为什么不直接用 SQl 做开发,更简单?至于 3,设计良好的程序,Hibernate 性能比 Mybatis 以及手写 SQL 高,是不争的事实,说话前请做好调查。还有,Mybatis 也是 ORM。
salamanderMH
2018-11-12 09:11:53 +08:00
手写 SQL
passerbytiny
2018-11-12 09:12:28 +08:00
@xy90321 #33 你需要了解一下领域驱动设计。
Chenamy2017
2018-11-12 09:15:30 +08:00
@kawowa 存储过程,如果切库怎么办?
zrrd
2018-11-12 09:18:11 +08:00
公司在用 mybaits plus + mybaits 增删改全部通过 mybaits plus 查找自己写 sql 放到 xml 里面
binge
2018-11-12 09:27:14 +08:00
作为开发人员 SQL 还是有必要深入掌握,哪怕用的是 ORM,脑海里也要知道生成的 SQL 是怎样,在一些查询稍微复杂的场景,很多时候的性能问题往往都是慢查询所致。
jswh
2018-11-12 09:27:21 +08:00
PHP 数据取出来存数组,字段是哪些都不知,IDE 也就更智障了,所以 ORM 在 PHP 里面还是很好用,这时候就比较羡慕你们强类型的。不过,有些 ORM 把事情弄得很复杂,我也不太喜欢(对,我说的就是 Laravel ),只要简单的 Query Builder 和数据 mapping 就行了。

互联网业务,特别的信息业务我接触的比较多,大多数时候直接到数据这一步大多都是简单的 CURD,可以不连表就不连表,能上缓存就上缓存的。重复零碎的 SQL 很多的,手写并不是很好管理,可读性也不好。真需要手写的,也多用 SQL shop 之类的统一管理调用,直接在业务里写 SQL,我不太喜欢。
linbiaye
2018-11-12 09:29:12 +08:00
chocotan
2018-11-12 09:29:26 +08:00
前几天看到一歪果仁的统计调查里用 mybatis 的少得可怜,基本是 hibernate、jpa
kingwl
2018-11-12 09:37:37 +08:00
不要拼接 SQL
现在的注入还少吗
xschaoya
2018-11-12 09:41:02 +08:00
复杂查询不用 SQL 用 ORM 大概会累死吧
cstj0505
2018-11-12 09:41:34 +08:00
@gowk 老哥有道理,我看很多人简直为了分层而分层
xhinliang
2018-11-12 09:47:00 +08:00
@kingwl 手写 SQL 不等于拼接 SQL。
hzw94
2018-11-12 09:50:49 +08:00
mybaits
xml
Variazioni
2018-11-12 09:54:40 +08:00
mybatis。。。我们团队的老产品技术栈还停留在原始 JDBC 的阶段。。
nekoneko
2018-11-12 10:03:56 +08:00
jdbcTemplate 手撸 sql
balamiao
2018-11-12 10:18:20 +08:00
ORM
visonme
2018-11-12 10:20:52 +08:00
ORM + SQL
对于负责情况下的数据库操作,没办法只能用 SQL 去处理,大部分实在 ORM 下工作
关于 SQL 语句的管理,其实没有太规范的方式,我们都是直接用类似 ini 文件格式的方式去管理的~

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

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

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

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

© 2021 V2EX