ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Abeyratne, Sam" <sam.abeyra...@cingular.com>
Subject dynamic sql within an iterate tag
Date Tue, 07 Jun 2005 00:29:10 GMT
Hey All,


I had asked this question before, but I didn't get an answer, so I am
re-posting this question:


I am getting the following error when I try to run a simple query that
has a dynamic <isNotEqual> within an iterate tag. Can you tell me if
this is even possible to do in iBatis? 


Thanks in advance for your assistance!




2005-06-06 17:11:25,284 [HttpRequestHandler-2083] DEBUG xxxDAO.class -
Parameters: {sidList=[abc1, abc2], carrier=ABCDE1, interfaceType=DSP}

2005-06-06 17:11:25,284 [HttpRequestHandler-2083] DEBUG xxxDAO.class -
Calling queryForList with statementName: queryInterfaceErrorCount and
parameters: {sidList=[abc1, abc2], carrier= ABCDE1, interfaceType=DSP}

2005-06-06 17:11:25,294 [HttpRequestHandler-2083] ERROR
xxxDispatchAction.class - Entered catch block in viewErrorLog: Exception
in queryInterfaceErrorCount: com.ibatis.common.beans.ProbeException:
Error getting ordinal list from JavaBean. Cause
java.lang.NumberFormatException: For input string: "" Caused by:
java.lang.NumberFormatException: For input string: ""

The sqlmap looks something like:


    <select id="queryInterfaceErrorCount" parameterClass="java.util.Map"

    select sum(count) as count



      <iterate property="sidList" open="(" close=")" conjunction="UNION

        select count(*) as count

          from mim_error_log@$sidList[]$

        where interface_type = #interfaceType# 

        <isNotEqual prepend="and" property="carrier" compareValue="All">

          carrier_name = #carrier#  






Java bean looks like: 


public class InterfaceErrorCount  {


  private int count;


  public int getCount() {

    return count;



  public void setCount(int count)  {

    this.count = count;



View raw message