Arrgh!  The pain of past decisions made!!!! Wouldn't this be nice:

SELECT #NAME:VARCHAR#
FROM SOME_TABLE
WHERE ID = @ID:NUMERIC@

Or.....

SELECT #NAME:VARCHAR
FROM SOME_TABLE
WHERE ID = @ID:NUMERIC

Blah.  If only...  :-)

Maybe for version 3.0 we'll change it and write a converter.  :-)

Cheers,
Clinton

On 12/20/05, Niels Beekman <[EMAIL PROTECTED]> wrote:

$-s are for SQL injection weren't they J

!-s can be used as operators (SELECT * FROM bla WHERE foo != 'bar')

"-s can be used to delimit strings, so this would require old uses of " to be escaped (am I right?)

|-s can be used as string concatenator

 

So the only viable option left is @ I believe, which, as you were saying, looks more like a parameter…

Or maybe use {NAME:VARCHAR} ?

 

Niels

 


From: Clinton Begin [mailto:[EMAIL PROTECTED]]
Sent: dinsdag 20 december 2005 16:14
To: user-java@ibatis.apache.org
Subject: Re: How to not verbosely declare resultmaps?

 


I would love to add inline result map support.  :-)

Unfortunately you and I are the minority.  But that doesn't mean we cannot do it.  So, my question to you is:  how would you like to see the syntax?

Here are some options:

$NAME:VARCHAR$
!NAME:VARCHAR!
@NAME:VARCHAR@
"NAME:VARCHAR"
|NAME:VARCHAR|   << I like the pipes, but does anyone know of any potential issues with using it? 

In hindsight, I wish I had used @@ for inline parameters and ## for inline result maps (because it looks like a little row set!). 

Cheers,
Clinton


On 12/19/05, Yusuf <[EMAIL PROTECTED]> wrote:

Dear All,
I've been using ibatis for about 1 year now, and i'm very satisfied with
it!
I wanted to ask if i can do this:

<select id="elions.uw.selectInfoProductInsured" resultClass="map">
SELECT name, age, address, income
  FROM person
</select>

but I wanted the default datatype for NAME is String, AGE is
Integer, and INCOME is Double, not the default BigDecimal..
without specifying resultMaps or resultClasses (because i have so many
queries like this and it would be very verbose to declare them one by
one)

I know we can declare something like this in insert statements like

<insert id="..">
INSERT INTO person (name, age) VALUES (#name:VARCHAR:-#, #age:NUMBER:0#)
</insert>

but can it be done in select statements to in ibatis? for example like
this maybe:

<select id="elions.uw.selectInfoProductInsured" resultClass="map">
SELECT name:String, age:Integer, address:String, income:Double
  FROM person
</select>

Thank you...

 


Reply via email to