请教各位大佬,日常业务开发时 SQL 你们一般怎么处理

2018-09-26 22:18:18 +08:00
 night98

我个人习惯是在 navicat 先写查询,调试好没问题之后粘贴到 xml 中,然后把参数改成 iBatis 占位符,这样就是一种业务对应一个<select> 比如: select id,name from t_user where id = #{id} and name = #{name} 最近新加入一家公司,要求大概是这种: </select> select <include base="" list=""> from xxx <dynamic prepend=" "> <isempty prepend="," preperty="xx">xx</isempty> <isempty prepend="," preperty="xxxx">xxxx</isempty> .....其他所有参数的 isempty </dynamic> </include>

请问大家平常习惯性用哪种?

个人用第一种的原因是一个查询对应一个方法,日后要改对应业务的时候好处理。

公司要求这种的话就是说希望扩展性好一些,别人用这个组件的时候不需要再自己写查询。

想问下各位大佬平常用的是哪种?

2857 次点击
所在节点    Java
11 条回复
night98
2018-09-26 22:36:31 +08:00
emmmm,换行符怎么都被删了。。
talen666
2018-09-26 22:57:18 +08:00
根据公司风格来呗,统一比较好。目前我是第一种,复制过来改占位符比较快
ysweics
2018-09-26 23:11:23 +08:00
第二种应该使用 mybatis 生成器生成的,一般简单 sql 可以直接用生成器里面的 exampl e,复杂的就用你所说的第一种
moresteam
2018-09-26 23:47:38 +08:00
直接在 xml 里写
night98
2018-09-26 23:53:30 +08:00
@ysweics #3 主要是有点不太理解为什么查询条件都要写在一个 select 里面,而且 select <include baselist>这种会查出很多不需要的字段感觉有点浪费性能。
guojxx
2018-09-27 08:59:22 +08:00
直接映射对象 crud 一句 sql 都不写
zhangwugui
2018-09-27 09:36:22 +08:00
使用类似 mybatis plus 类的插件来生成通用的增删改查,具体业务的就自己写了,比如统计啥的。
Pythoner666666
2018-09-27 10:21:57 +08:00
ORM....
msg7086
2018-09-27 15:03:05 +08:00
我们的产品全程 ORM 映射,禁止无谓的 RAW SQL 语句查询。
night98
2018-09-27 15:52:06 +08:00
@guojxx #6
@Pythoner666666 #8
@msg7086 #9
jpa 么?
msg7086
2018-09-27 16:09:41 +08:00
@night98 (我不是写 Java 的(光速逃

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

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

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

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

© 2021 V2EX