I like it.  As long as I can still do nested structures

   <property name="stuffList" column="stuff" mapped-statement="getStuff" />

(probably wrong syntax, but you get the idea)

then I wouldn't have any problems with the shortcut.  More intuituve anyway.

Jerry


On Sat, 15 Jan 2005 11:16:09 -0700, Clinton Begin
<[EMAIL PROTECTED]> wrote:
> Hi all,
> 
> Okay, I'm sick of typing out parameter map and result map stanzas, how
> about you?  We'll always have them, as they are a primary structure
> for an SQL map, and future tools may use them.  However, I want to
> implement a shorthand method.  The approach would be similar to inline
> parameter maps.  For example (excuse the % tokenization, it's just for
> example purposes).
> 
> <select id="getPersonByID" parameterClass="int" resultClass="e.g.Person">
>    SELECT
>        PERSON_ID   AS   %id%,
>        FIRST_NAME AS   %firstName%,
>        LAST_NAME  AS   %lastName%,
>        BIRTH_DATE  AS   %birthDate,javaType=date,jdbcType=DATE%
>     FROM PERSON
>     WHERE PERSON_ID = #value#
> </select>
> 
> Some caveats:
> 
> 1) The SQL is less pure, and more mangled.  Although initially this
> looks bad, I think most people use the built-in logging or P6Spy to
> grab the real statements anyway.  Also, for initial SQL development,
> it doesn't reduce the ability for a database admin to write the SQL
> (or if it does in your case, you still have the option of an external
> <resultMap>).
> 
> 2) Dynamic SQL performance may be slightly impacted (no more so than
> inline parameters, which is the only way to do dynamic SQL anyway).
> 
> 3) The paramter tokenization may get out of hand.  We already know we
> want a new syntax, and this will give us the additional motivation to
> move in that direction.  Currently we have #parameters#,
> $substitutions$ and with the above example of inline results, we'd
> have %results%.
> 
> An option for different tokenization might be something like:
> P{parameter}, S{substitution} and R{result}.  This is similar to the
> Ant ${property} syntax, and will have fewer conflicts with potential
> new dynamic SQL languages (like velocity, which reservs #), and
> certain databases (like JDE that often uses # in column names).
> 
> This would completely eliminate the need to write <resultMap>
> elements.  Of course we'd need to forward some additional properties
> like groupBy to the <select> element, and also include a facility for
> the upcoming <subclass> element.  But neither of those pose a problem.
> This is mostly a change to the XML parser, and not to the
> functionality of the framework.
> 
> Thoughts?
> 
> Cheers,
> Clinton
> 
> Thoughts?
>

Reply via email to