ibatis iterator 标签下面不能dynamic标签,逻辑如何改写??报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ibatis iterator 标签下面不能dynamic标签,逻辑如何改写??报错

爱吃鱼的程序员 2020-06-09 13:39:59 37

下面这条SQL如何写?

这样子的时候报错,iterator标签下面不能有dynamic标签。

<iterate property="condList"  open="(" close=")" conjunction="or">  
(
<dynamic>
     <isNotNull  property="lid" prepend="and"> SOURCE_LID = #condList[].lid#</isNotNull> 
     <isNotNull  property="mid" prepend="and"> MID = #condList[].mid#</isNotNull> 
     <isNotNull  property="fid" prepend="and"> FID = #condList[].fid#</isNotNull> 
     <isNotNull  property="ctid" prepend="and"> CTID = #condList[].ctid#</isNotNull> 
     <isNotNull  property="accountType" prepend="and"> ACCOUNT_TYPE = #condList[].accountType#</isNotNull>   


 </dynamic>


)
</iterate>




SQL
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-09 13:40:17

    发现下面这种方法可以解决问题,虽然不完美

    <iterateproperty="condList"open="("close=")"conjunction="or">(1=1<isNotNullproperty="lid"prepend="and">SOURCE_LID=#condList[].lid#</isNotNull><isNotNullproperty="mid"prepend="and">MID=#condList[].mid#</isNotNull><isNotNullproperty="fid"prepend="and">FID=#condList[].fid#</isNotNull><isNotNullproperty="ctid"prepend="and">CTID=#condList[].ctid#</isNotNull><isNotNullproperty="accountType"prepend="and">ACCOUNT_TYPE=#condList[].accountType#</isNotNull>)</iterate>



    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程