首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ibatis处理in查询有关问题

2012-08-28 
ibatis处理in查询问题在ibatis里面,由于使用的是preparedStatement,所以当遇到 in查询的时候,直接一个输入

ibatis处理in查询问题
在ibatis里面,由于使用的是preparedStatement,所以当遇到 in查询的时候,直接一个输入参数的做法是不正确的。
  
  比如

  <parameterMap id="del" name="code"><delete id="delstm" parameterMap="del">   <![CDATA[   delete from yourtable where keyid in(#ids#)   ]]>   </delete>

  
  这样当传一个id的时候当然不会有问题,但是如果是传多个id,并以“,”隔开,系统会抛出非法数字的错误。解决这个问题,只能使用动态sql
  
  在sql-map中动态sql的关键字是$key$,那么上面这个问题就应该这样解决:
  
  <delete id="delstm" parameterproperty="ids"  open="("  close=")"  conjunction="," > 
#ids[]#
</iterate> 这种方法来组合in查询语句。

热点排行