<sql>
是一个与<insert>,<select>
等增删改查同级别的标签,作用是抽取可重用的sql
片段。方便后面引用
可以将经常要查询的列名,或者插入用的列名抽取出来方便引用,像这样子抽取出来:
<sql id="insertColumn">
employee_id,last_name,email
</sql>
原来字段的地方就可以用<include>
标签来引用已经抽取的sql
insert into employees(
<!-- 引用外部定义的sql -->
<include refid="insertColumn">
</include>
)
<sql>
标签中也可以进行动态判读传进来的参数
<sql id="insertColumn">
<if test="_databaseId=='oracle'">
employee_id,last_name,email
</if>
<if test="_databaseId=='mysql'">
last_name,email,gender,d_id
</if>
</sql>
<include>
中还可以使用<property>
标签往sql
中加入字段
insert into employees(
<!-- 引用外部定义的sql -->
<include refid="insertColumn">
<property name="testColomn" value="abc"/>
</include>
)
这样sql
标签内部就能使用自定义的属性了
记住取值是用${}
<sql id="insertColumn">
<if test="_databaseId=='oracle'">
employee_id,last_name,email,${testColomn}
</if>
</sql>