iBATIS动态查询
有没有人真正懂得iBATIS动态查询中的prepend="where" ,prepend="and",prepend=""的具体含义?
比如,我想要在两个条件都不这空的情况下,在where后面加一个between条件,
....
select * from stock
<dynamic prepend="where">
<isNotEmpty prepend="" property="fromcolorno">
<isNotEmpty prepend="" property="tocolorno">
(colorno between #fromcolorno# and #tocolorno#)
</isNotEmpty>
</isNotEmpty>
<isNotEmpty prepend="" property="fromlotno">
<isNotEmpty prepend="" property="tolotno">
(colorno between #fromlotno# and #tolotno#)
</isNotEmpty>
</isNotEmpty>
</dynamic>
我所要的结果是:当fromcolorno和tocolorno都不为空,而fromlotno或tolotno为空时,执行下面的语句:
select * from stock where colorno between fromcolorno and tocolorno;
当全部不为空时,执行下面的语句:
select * from stock where colorno between fromcolorno and tocolorno and lotno between fromlotno and tolotno;
当fromcolorno或tocolorno空时,执行下面的语句:
select * from stock where lotno between fromlotno and tolotno;
当全部为空时,执行下面的语句:
select * from stock
如何做到?
问题点数:100、回复次数:2Top
1 楼theoffspring(崽子)回复于 2005-05-26 08:21:54 得分 100
夏昕的开发指南讲得很清楚了Top
2 楼gxh(我是一只菜菜菜菜鳥)回复于 2005-05-26 08:29:34 得分 0
我觉得一点都不清楚Top




