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? >