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>

标签: none

添加新评论