ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Rodenbaugh" <drodenba...@WILDBLUECORP.COM>
Subject RE: Using parameterMaps
Date Tue, 12 Dec 2006 16:39:50 GMT
Yes, one would hope to have that.  :)

As a side note, what are your thoughts on the advanced inline parameter
map syntax:

WHERE Order_id = #orderId,javaType=java.lang.String# 

I ask because I'm using a code generator that needs certain type
information to spit out lots of classes for me so I don't have to.  I'm
curious if I'm creating some situation for myself inside iBATIS that
isn't immediately apparent.  And no, I can't use Abator on this project.
:)

-D

-----Original Message-----
From: larry.meadors@gmail.com [mailto:larry.meadors@gmail.com] On Behalf
Of Larry Meadors
Sent: Tuesday, December 12, 2006 9:33 AM
To: user-java@ibatis.apache.org
Subject: Re: Using parameterMaps

I wouldn't do it because I am a minimalist and it adds more mess to
the code, but if you sleep better at night knowing it's there, go for
it. :)

Hopefully you'll have a maintainer that knows *something* about XML,
though.

Larry


On 12/12/06, Dave Rodenbaugh <drodenbaugh@wildbluecorp.com> wrote:
>
>
> Thanks for the feedback...That all makes sense, except #4.
>
> CDATA sections, while not necessary here, are placed there because in
the
> future, I probably won't be the one maintaining this code.  If someone
> alters a WHERE clause to use < or >, then I've protected them from
future
> errors in their code.
>
> Unless there's some fragility in the internals of iBATIS that don't
handle
> CDATAs well, this seems to be a generally good, forward-thinking
> practice...Do you still disagree?
>
> -D
>
>  ________________________________
>  From: Jeff Butler [mailto:jeffgbutler@gmail.com]
> Sent: Monday, December 11, 2006 5:15 PM
> To: user-java@ibatis.apache.org
> Subject: Re: Using parameterMaps
>
>
>
> Several things...
>
> 1. map is OK - it is a predefined type alias
> 2. java.util.HashMap is OK also
> 3. When using parameter maps, you must specify question marks in the
SQL
> instead of property names.  This is likely the cause of your problem.
For
> this reason, I recommend that you forego the use of explicit parameter
maps
> altogether, the inline syntax is much clearer IMHO
> 4.  You don't need CDATA here (it's not causing the problem, but I
think
> it's bad practice to write a CDATA section unless you really need it -
in
> other words, very rarely)
>
> So, I would delete the <parameterMap> and do this instead:
>
> <select id="findOrderMasterByStatusAndOrderType"
>             parameterClass="map"
>             resultClass="OrderMaster">
>   <include refid="OrderMasterBase"/>
>   WHERE Order_Status = #orderStatus# AND Order_Type = #orderType#
> </select>
>
> Jeff Butler
>
>
> On 12/11/06, Dave Rodenbaugh <drodenbaugh@wildbluecorp.com> wrote:
> > Hello all,
> >
> > I have a question regarding the valid values for the attribute
"class"
> > in the parameterMap.  So far, the docs make it clear that I can use
> > pkg-qualified names there, but don't say much else.
> >
> > If I have:
> >
> >        <parameterMap id="orderByStatusAndType" class="map">
> >                <parameter property="orderStatus"
> > javaType="java.lang.String"/>
> >                <parameter property="orderType"
> > javaType="java.lang.String"/>
> >        </parameterMap>
> >
> > That is used thusly:
> >
> >        <select id="findOrderMasterByStatusAndOrderType"
> >
> parameterMap="orderByStatusAndType"
> >                          resultClass="OrderMaster">
> >            <include refid="OrderMasterBase"/>
> >            <![CDATA[
> >            WHERE Order_Status = #orderStatus# AND Order_Type =
> > #orderType#
> >            ]]>
> >        </select>
> >
> > Is 'map' a valid value in the class attribute?  If it isn't, what if
I
> > want to pass data that aren't represented as a class/POJO/bean, such
as
> > a list of parameters--(I tried passing java.util.HashMap instead
without
> > much success)?
> >
> > Thanks,
> > -Dave
> >
> >
> >
>
>



Mime
View raw message