我个人习惯是在 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>
请问大家平常习惯性用哪种?
个人用第一种的原因是一个查询对应一个方法,日后要改对应业务的时候好处理。
公司要求这种的话就是说希望扩展性好一些,别人用这个组件的时候不需要再自己写查询。
想问下各位大佬平常用的是哪种?
1
night98 OP emmmm,换行符怎么都被删了。。
|
2
talen666 2018-09-26 22:57:18 +08:00
根据公司风格来呗,统一比较好。目前我是第一种,复制过来改占位符比较快
|
3
ysweics 2018-09-26 23:11:23 +08:00 via iPhone
第二种应该使用 mybatis 生成器生成的,一般简单 sql 可以直接用生成器里面的 exampl e,复杂的就用你所说的第一种
|
4
moresteam 2018-09-26 23:47:38 +08:00 via Android
直接在 xml 里写
|
5
night98 OP @ysweics #3 主要是有点不太理解为什么查询条件都要写在一个 select 里面,而且 select <include baselist>这种会查出很多不需要的字段感觉有点浪费性能。
|
6
guojxx 2018-09-27 08:59:22 +08:00
直接映射对象 crud 一句 sql 都不写
|
7
zhangwugui 2018-09-27 09:36:22 +08:00
使用类似 mybatis plus 类的插件来生成通用的增删改查,具体业务的就自己写了,比如统计啥的。
|
8
Pythoner666666 2018-09-27 10:21:57 +08:00
ORM....
|
9
msg7086 2018-09-27 15:03:05 +08:00
我们的产品全程 ORM 映射,禁止无谓的 RAW SQL 语句查询。
|
10
night98 OP |