9.4.3 sql标签
sql元素可以被用来定义可重用的SQL代码段,可以包含在其他语句中。它可以被静态地(在加载参数时)参数化。不同的属性值通过包含的实例发生变化。例如
| 1
 | <sql id="userColumns">${alias}.id,${alias}.username,${alias}.password</sql>
 | 
这个SQL片段可以被包含在其他语句中,例如:
| 12
 3
 4
 5
 6
 7
 
 | <select id="selectUser" resultTyep="map">select
 <include refid="userColumns">
 <property name="alias" value="t1"/>
 </include>
 from some_table t1
 </select>
 
 | 
属性值可以用于包含的refid属性或者包含的字句里面的属性,例如
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | <sql id="sometable">${prefix} Table
 </sql>
 <sql id="someinclude">
 from
 <include refid="${include_target}">
 </sql>
 <select id="select" resultType="map">
 select
 field1,field2,field3
 <include refid="someinclude">
 <property name="prefix" value="some"/>
 <property name="include_target" value="sometable">
 </include>
 </select>
 
 |