9.4.3 sql标签
sql
元素可以被用来定义可重用的SQL
代码段,可以包含在其他语句中。它可以被静态地(在加载参数时)参数化。不同的属性值通过包含的实例发生变化。例如
1
| <sql id="userColumns">${alias}.id,${alias}.username,${alias}.password</sql>
|
这个SQL
片段可以被包含在其他语句中,例如:
1 2 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
属性或者包含的字句里面的属性,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <sql id="sometable"> ${prefix} Table </sql> <sql id="sometable"> 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>
|
原文链接: 9.4 深入Mapper XML映射文件 9.4.3 sql标签