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