1.正常情况下使用
sql标签用作封装参数或SQL块
<sql id="Param_Block"> 名字随便起
id,
name,
phone
</sql>
或者
<sql id="Param_Block">
ORDER BY id limit 1
</sql>
include标签来调用sql标签中的东西
SELECT
<include refid="Param_Block"></include>
FROM
user s
WHERE
s.id= #{id}
2.进阶使用
<sql id="Param_Block">
${user}.id,
${user}.name,
${user}.phone
</sql>
SELECT
<include refid="Param_Block">
<property name="user" value="s"/>
</include>
FROM
store s
WHERE
s.store_sn = #{storeSn}
property中name为${}中的参数,value为数据表名,若如上存在别名,则用别名。
总之,就是把一块内容封装起来,不用每次都写,用的时候直接拿来用就可,此处需注意sql标签中的参数后逗号的问题,若引入两个内容块,则第一个最后的参数后需加逗号,以免造成SQL语句拼接错误