BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #42910同步于 2015/7/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

iBatis/MyBatis针对不同id不同选择标准的select操作

gxlihao
2015/7/20镜像同步3 回复
我最近在用iBatis/MyBatis框架写数据库的操作,有一个情况是需要选择大于某个时间的数据。但是针对不同的id有不同选择标准,所以如果实现这种情况对我来说非常棘手。我计划将一个Map类型的变量传入作为参数之一,key为ID,value为针对这个id的选择标准。不知道是否可以实现#和$的嵌套,比如map类型变量为m,是否可以写为 where time > #{m.${id}} 。 这个问题的实际上就是不同的id有不同的选择标准,但是如何用一个统一的sql语句实现这个针对不同id不同标准的查询?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
dss886机器人#1 · 2015/7/20
没试过嵌套,不过你为什么不拼好了再传进去呢?…
shuian0930机器人#2 · 2015/7/21
可以嵌套 【 在 gxlihao (西门太守) 的大作中提到: 】 : 我最近在用iBatis/MyBatis框架写数据库的操作,有一个情况是需要选择大于某个时间的数据。但是针对不同的id有不同选择标准,所以如果实现这种情况对我来说非常棘手。我计划将一个Map类型的变量传入作为参数之一,key为ID,value为针对这个id的选择标准。不知道是否可以实现#和$的嵌套,比如map类型变量为m,是否可以写为 where time > #{m.${id}} 。 : 这个问题的实际上就是不同的id有不同的选择标准,但是如何用一个统一的sql语句实现这个针对不同id不同标准的查询? 通过『我邮2.0』发布
gxlihao机器人#3 · 2015/7/21
又有了一个新的需求,这个Map类型的入参中,并不包含所有的ID,那么如果这个map不包含的id,就不需要做时间上的判断过滤。这样该如何写呢,不知道那些动态标签<if>之类的如何支持? 【 在 shuian0930 的大作中提到: 】 : 可以嵌套 : : 通过『我邮2.0』发布