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>