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

2018-11-11 14:51:38 +08:00
 magicdu
如题,大家或者大家的公司怎么处理业务逻辑复杂的 SQL 语句呢,用 mybatis 呢?还是干脆舍弃了 SQL 呢,采用其他的方式呢?
14875 次点击
所在节点    Java
104 条回复
actar
2018-11-11 14:58:37 +08:00
JPA,QueryDSL?? 不清楚,我还没有工作。
kawowa
2018-11-11 14:58:54 +08:00
...不都是封装好或者存储过程然后你只能调用的吗,代码里面直接操作 SQL 比较危险呀
ltoddy
2018-11-11 15:05:06 +08:00
@kawowa 第一次见到用存储过程的!!!!!!
ltoddy
2018-11-11 15:06:06 +08:00
公司不是 java 开发, 所以都是用的 orm 框架. 例如: User.query.... 这样的.
你只需要关注业务就可以了, 具体 sql 是由 orm 自己拼的.
skypyb
2018-11-11 15:11:53 +08:00
spring boot jpa。
然鹅还是遇到不少需要自己写 sql、hql 的情况
skypyb
2018-11-11 15:12:24 +08:00
spring data jpa 说错了- -
zgray
2018-11-11 15:14:46 +08:00
团队自己做了个数据访问层,基本思路类似 mybatis。把 sql 写在 xml 中。
magicdu
2018-11-11 15:18:28 +08:00
@kawowa 我这大部分都是复杂查询,其他的修改更新很少
magicdu
2018-11-11 15:20:49 +08:00
@zgray 这样确实能比较直观的管理 sql,
linbiaye
2018-11-11 15:23:44 +08:00
mybatis 啊,复杂的语句直接扔 xml 里面。
sutra
2018-11-11 15:35:41 +08:00
简单的就 spring-data-jpa with Querydsl 了,复杂的还是写 xml 里好点,否则在 Java 文件里拼字符串太难编辑了。
dszhblx
2018-11-11 15:48:48 +08:00
用存储过程,代码拼 sql 是最原始的方式
Raymon111111
2018-11-11 16:00:29 +08:00
mybatis 不够吗, 通通都放进了 xml 里
qiyuey
2018-11-11 16:06:01 +08:00
MyBatis + 注解,全部内聚到 DAO 里,也不用涉及 XML
duan602728596
2018-11-11 16:13:45 +08:00
websql 当然是自己写 sql 了
gowk
2018-11-11 16:23:37 +08:00
1. ORM 是反模式,是错误的东西,它企图弥合关系数据库和对象之间的鸿沟,但却带来了更复杂的抽象。2. 诸多 ORM 之间的 API 不一致,导致无法重用,既然有了 SQL 这么表达力强又优美的语言,为什么还要把它翻译成 ORM 的方式?仅仅因为你希望用「统一」的语言开发你的软件? 3. ORM 可能会产生性能问题。综上所述,Hibernate 是垃圾,JPA 是垃圾中的垃圾,我推荐 Mybatis,或者其他基于 JDBC 的轻量级封装库或 Query Builder。
fuyufjh
2018-11-11 17:31:45 +08:00
作为数据库开发者我只想劝一句:不要用 ORM !不要用 ORM !不要用 ORM !
tabris17
2018-11-11 17:37:23 +08:00
@gowk ORM 能解决 90%的场景,提升 90%的开发效率
tabris17
2018-11-11 17:38:14 +08:00
@gowk 至于性能……性能一下子就优化好了我岂不是要失业了
zjsxwc
2018-11-11 17:47:38 +08:00
答楼主:用 querybuilder 管理啊,最经典的设计模式之一!


ps,楼上黑 orm 是什么意思,经典的数据持久化抽象没什么好黑的,这种黑不是坏就是蠢

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

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

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

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

© 2021 V2EX