[ 
http://issues.apache.org/jira/browse/IBATIS-144?page=comments#action_66851 ]
     
Larry Meadors commented on IBATIS-144:
--------------------------------------

How is this different from the SQL fragment functionality already present?

  <sql id="selectAllFields">
    select
      accountId,
      username,
      password,
      firstName,
      lastName,
      address1,
      address2,
      city,
      state,
      postalCode,
      country
    from Account
  </sql>

  <select id="getAll" resultClass="Account">
    <include refid="selectAllFields" />
  </select>


> Using Templates in SQL Maps
> ---------------------------
>
>          Key: IBATIS-144
>          URL: http://issues.apache.org/jira/browse/IBATIS-144
>      Project: iBatis for Java
>         Type: New Feature
>   Components: SQL Maps
>  Environment: all
>     Reporter: Steffen Legler
>     Priority: Minor

>
> For readability and writing less redundant code ist would be nice to have 
> templates within a SQLMap.
> ---CURRENT------------------------------------------------------------
> <sqlMap namespace="someNs">
> <typeAlias alias="class1" type="com.someCompany.class1"/>
>       <insert id="insert" parameterClass="class1">
>               insert into table(id,           
>                       <isEqual property="selectionId" compareValue="1">
>                               column1
>                       </isEqual>
>                       <isEqual property="selectionId" compareValue="2">
>                               column2
>                       </isEqual>
>                ) values (#instanceId#, #value# )      
>       </insert>
>       <update id="update" parameterClass="class1">
>               update table set 
>                       <isEqual property="selectionId" compareValue="1">
>                               column1
>                       </isEqual>
>                       <isEqual property="selectionId" compareValue="2">
>                               column2
>                       </isEqual>
>               = #value# where id = #instanceId#
>       </update>
> </sqlMap>
> ---WISH TO HAVE------------------------------------------------------------
> <sqlMap namespace="someNs">
> <typeAlias alias="class1" type="com.someCompany.class1"/>
> <template alias="columnSelection" type="
>                       <isEqual property="selectionId" compareValue="1">
>                               column1
>                       </isEqual>
>                       <isEqual property="selectionId" compareValue="2">
>                               column2
>                       </isEqual>              
> "/>
>       <insert id="insert" parameterClass="class1">
>               insert into table(id,$columnSelection) values (#instanceId#, 
> #value# )  
>       </insert>
>       <update id="update" parameterClass="class1">
>               update table set $columnSelection
>               = #value# where id = #instanceId#
>       </update>
> </sqlMap>
> ---
> The following is taken from the velocity tutorial:
> In almost all cases the shorthand notation for references can be used, but in 
> some cases the formal notation is required for correct processing.
> Jack is a $vicemaniac.
> There is ambiguity here, and Velocity assumes that $vicemaniac, not $vice, is 
> the Identifier that you mean to use. Finding no value for $vicemaniac, it 
> will return $vicemaniac. Using formal notation can resolve this problem.
> Jack is a ${vice}maniac.
> Now Velocity knows that $vice, not $vicemaniac, is the reference. Formal 
> notation is often useful when references are directly adjacent to text in a 
> template. 
> ---

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to