ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fran├žois Schiettecatte <fschietteca...@gmail.com>
Subject Re: how to pass two different types of values to query in IBATIS
Date Mon, 12 Apr 2010 14:53:03 GMT
I think Mukhi is trying to pass a string and an array of numbers, the string being the entryRefno
and the list of nunbers to be added to the IN() clause of the SELECT statement in the example
given.

The Map is the way to go, you just need to add the string as shows in the code sample below.
The array of numbers is more complicated because I dont think there is way to iterate over
an array in the map xml (correct me if I am wrong here). The way I would handle this is to
turn the array into a comma separated string of numbers and pass that, so in the example below
I would turn the array (90,89,93,45,67) into a string "90,89,93,45,67" and pass that. Ugly
but workable.

Did I understand the question correctly?

Cheers

Fran├žois


On Apr 12, 2010, at 10:41 AM, Nathan Maves wrote:

> I am not sure you are grasping the concept here.
> 
> Both IB2 and IB3 can take any type of java.util.Map implementation as
> a parameter.
> 
> Map<String, Object> parameters = new HashMap<String, Object>();
> parameters.put("someNumber", Integer.valueOf(123));
> parameters.put("someString", "hello");
> 
> Now use that parameter as the single parameter to any ibatis sqlmap client.
> 
> In IB3 you can use multiple named parameters but the above will still work.
> 
> I would really suggest reading the developers guide.  This is all
> covered in a very short pdf.
> 
> Nathan
> 
> On Mon, Apr 12, 2010 at 8:24 AM, mukhi <vkstudymaterial@gmail.com> wrote:
>> 
>> Thanks, but the parameter 'entryrefno' is of numeric type in my table. How
>> can i pass two different types of values to Map  at the same time?
>> Please reply me. I am struck at this point.
>> 
>> 
>> 
>> Nate Weiss wrote:
>>> 
>>> Hi mukhi--
>>> 
>>> I'm pretty new to this list, but I believe the general solution is to
>>> make a HashMap and pass that in:
>>> 
>>> Map params = new HashMap();
>>> params.entryRefno= myEntryRefno;
>>> params.someList = someList;
>>> getSqlMapClientTemplate().insert("insertChoice", params);
>>> 
>>> In iBatis 3 you also have the option of creating a mapper interface
>>> class which allows you to pass in multiple params without a map.
>>> 
>>> 
>>> On 4/11/2010 3:41 PM, mukhi wrote:
>>>> 
>>>> I am using Spring with Ibatis. I want to pass a sting value and list to a
>>>> query. How I can do that.
>>>> 
>>>> My query is as follows
>>>> INSERT INTO
>>>>                  T_ENTRY_ANSWER_ASSOC( ENTRY_REFNO,   CHOICE_REFNO  )
>>>> 
>>>>                      SELECT  #entryRefno#,CHOICE_REFNO,
>>>>                       FROM T_CHOICE
>>>>                       WHERE CHOICE_REFNO IN ( 90,89,93,45,67)
>>>> 
>>>> 
>>>> 
>>>> in the above query i need to pass two types of parameters.
>>>> 1. Sting
>>>> 2.list of values in where clause.
>>>> 
>>>> How can i do it?
>>>> 
>>>> 
>>>> What kind of parameter I can pass to call the query. while making call
>>>> 
>>>> getSqlMapClientTemplate().insert("insertChoice",  What parameter goes
>>>> here?);
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>> 
>>> 
>>> 
>> 
>> --
>> View this message in context: http://old.nabble.com/how-to-pass-two-different-types-of-values-to-query-in-IBATIS-tp28211187p28218461.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message