ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: TypeHandler on ParamterMap not getting invoked
Date Tue, 02 Sep 2008 17:45:42 GMT
If you use a <parameterMap>, then you must use question marks as markers in
your statement.  I suggest you skip the parameter map completely and specify
the type handler in the statement:

#keyList[],handler=com.jrapp.ibatis.KeyHandlerCallback#

BTW - declared parameter maps will likely go away with iBATIS 3 - we don't
like them AT ALL for this exact reason - they are too confusing to use.

Jeff Butler

On Tue, Sep 2, 2008 at 12:32 PM, J R <power_of_s@yahoo.com> wrote:

>
> Clinton this does not seem to work. Any other ideas? Any other way around
> to
> handle this?
>
> Thanks!
>
>
> Clinton Begin wrote:
> >
> > Upgrade to 2.3.3
> >
> > Cheers,
> > Clinton
> >
> > On Thu, Aug 28, 2008 at 5:00 PM, J R <power_of_s@yahoo.com> wrote:
> >
> >>
> >> I have a parameterClass which holds List and a Long, and I have to
> invoke
> >> a
> >> typeHandler on List to fit some custom logic. But seems like the
> >> typeHandler
> >> is not getting invoked.
> >>
> >> Intent is to have typeHandler invoked so that I can customize the items
> >> in
> >> the List. Is typeHandler invoked for each reference to list element? or
> >> am
> >> I
> >> doing something wrong?
> >>
> >> <parameterMap id="queryCustomization"
> >> class="com.jrapp.customizations.QueryObject">
> >>        <parameter property="keyCount" />
> >>        <parameter property="keyList"
> >> typeHandler="com.jrapp.ibatis.KeyHandlerCallback" />
> >> </parameterMap>
> >>
> >> public class QueryObject{
> >>
> >>        private Long keyCount = 0;
> >>        private ArrayList KeyList = new ArrayList();
> >>
> >>       // With proper getters and setters
> >> }
> >>
> >> Snippet of ibatis sqlmap:
> >>
> >> <dynamic>
> >>      <isGreaterThan property="keyCount" compareValue="0">
> >>      and (
> >>            q.objectListKey in (
> >>                     <iterate property="keyList" conjunction=",">
> >>                             #keyList[]#
> >>                      </iterate>
> >>                     )
> >> </dynamic>
> >>
> >> ..So I expect that on "keyList[]" reference in above sqlmap, typehandler
> >> would be invoked. Is that wrong assumption? Any way to achieve this?
> >>
> >> Thanks!
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/TypeHandler-on-ParamterMap-not-getting-invoked-tp19210666p19210666.html
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/TypeHandler-on-ParamterMap-not-getting-invoked-tp19210666p19274746.html
>  Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Mime
View raw message