sql
這個元素可以被用來定義可重用的 SQL 代碼段,可以包含在其他語句中。它可以被靜態地(在加載參數) 參數化. 不同的屬性值通過包含的實例變化. 比如:
<span style="font-size:14px;"><sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql></span>
這個 SQL 片段可以被包含在其他語句中,例如:<span style="font-size:14px;"><select id="selectUsers" resultType="map">
select
<include refid="userColumns"><property name="alias" value="t1"/></include>,
<include refid="userColumns"><property name="alias" value="t2"/></include>
from some_table t1
cross join some_table t2
</select></span>
屬性值可以用於包含的refid屬性或者包含的字句裏面的屬性值,例如:
<span style="font-size:14px;"><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></span>