You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Andreas Niemeyer <ni...@freenet.de> on 2010/05/31 16:55:35 UTC

iBatis 3: dynamic sql and numeric property type problem

Hi,

how can I deal with numeric class properties for dynamic sql in iBatis 
3.x? In the older 2.x release there exist a `<isGreaterThan>' tag and 
the user guide for 3.x only mentioned the <if> condition. For that, I 
get a NumberFormatException:

Caused by: java.lang.NumberFormatException: For input string: "{0=null}"


The example looks like:

<select id="getSomeList" resultType="SomeClass" 
parameterType="SomeConditionClass">
  		select
			<include refid="someColumns"/>
		from
			hmm_t t, context_x x
		where
			t.id = x.id_hmm		
			
			<if test="#{id} != -1">
				and x.id = #{id} 	
			</if>	
			
</select>


Thank you in advance,
Andreas



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


Re: iBatis 3: dynamic sql and numeric property type problem

Posted by Larry Meadors <la...@gmail.com>.
The ibatis project has moved and been renamed.

It is no longer being maintained as an Apache project, but has moved
(along with the development team) here:

http://www.mybatis.org/

Please join us at the new location by joining the mailing list here:

http://groups.google.com/group/mybatis-user

Larry

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


Re: iBatis 3: dynamic sql and numeric property type problem

Posted by Andreas Niemeyer <ni...@freenet.de>.
Hi,
I've another use case for a possible if check:

- if the parameterType long it fails for the if check:

<select id="getMegaList" resultType="Mega" parameterType="long"> 		
    Select
    	id, descr, description from mega_t
    <where>
    	<if test="id != -1">
		id = #{id}
	</if>
    </where>	
  </select>


Thank you in advance,
Andreas



Andreas Niemeyer schrieb:
> Sorry, I had a missunderstanding, it works this way:
> 
> ...
> <if test="id != -1">
>     and x.id = #{id}    
> </if>   
> ...
> 
> Andreas Niemeyer schrieb:
>> Hi,
>>
>> how can I deal with numeric class properties for dynamic sql in iBatis 
>> 3.x? In the older 2.x release there exist a `<isGreaterThan>' tag and 
>> the user guide for 3.x only mentioned the <if> condition. For that, I 
>> get a NumberFormatException:
>>
>> Caused by: java.lang.NumberFormatException: For input string: "{0=null}"
>>
>>
>> The example looks like:
>>
>> <select id="getSomeList" resultType="SomeClass" 
>> parameterType="SomeConditionClass">
>>          select
>>             <include refid="someColumns"/>
>>         from
>>             hmm_t t, context_x x
>>         where
>>             t.id = x.id_hmm                              <if 
>> test="#{id} != -1">
>>                 and x.id = #{id}                </if>              
>> </select>
>>
>>
>> Thank you in advance,
>> Andreas


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


Re: iBatis 3: dynamic sql and numeric property type problem

Posted by Andreas Niemeyer <ni...@freenet.de>.
Sorry, I had a missunderstanding, it works this way:

...
<if test="id != -1">
	and x.id = #{id} 	
</if>	
...

Andreas Niemeyer schrieb:
> Hi,
> 
> how can I deal with numeric class properties for dynamic sql in iBatis 
> 3.x? In the older 2.x release there exist a `<isGreaterThan>' tag and 
> the user guide for 3.x only mentioned the <if> condition. For that, I 
> get a NumberFormatException:
> 
> Caused by: java.lang.NumberFormatException: For input string: "{0=null}"
> 
> 
> The example looks like:
> 
> <select id="getSomeList" resultType="SomeClass" 
> parameterType="SomeConditionClass">
>          select
>             <include refid="someColumns"/>
>         from
>             hmm_t t, context_x x
>         where
>             t.id = x.id_hmm       
>            
>             <if test="#{id} != -1">
>                 and x.id = #{id}    
>             </if>   
>            
> </select>
> 
> 
> Thank you in advance,
> Andreas


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


Re: iBatis 3: dynamic sql and numeric property type problem

Posted by Larry Meadors <la...@gmail.com>.
I think you can just say <if test="id != -1">, but I haven't done this
exact thing yet.

Since we're using ognl for expressions, here's where I'd look:
http://www.opensymphony.com/ognl/html/LanguageGuide/index.html

Also, you should join and post to the new list at google:
http://groups.google.com/group/mybatis-user instead.

At this point, there are no plans to continue the ibatis project at
Apache, the project (including the development team) has moved and it
will live on as mybatis at google code instead.

Larry

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