MyBatis sql元素
MyBatis sql元素
sql元素可以被用来定义可重用的SQL代码段,可以包含在其他语句中。它可以被静态地(在加载参数时) 参数化。不同的属性值通过包含的实例发生变化。例如:
<sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql>
这个SQL片段可以被包含在其他语句中,例如:
<select id="selectUsers" resultType="map">
select
<include refid="userColumns" ><property name="alias" value="t1" /></include>
from some_table tl
</select>
属性值可以用于包含的refid属性或者包含的字句里面的属性,例如:
<sql id="sometable">
${prefix}Table
</sql>
<sql id="someinclude">
from
<include refid="${include_target}"/>
</sql>
<select id="select" resultType="map">
select
fieldl,field2,field3
<include refid="someinclude">
<property name="prefix" value="some"/>
<property name=" include_target "value="sometable" />
</include>
</select>