MyBatis数据持久化(八)sql复用

在mybatis中,我们可以將sql语句中公共的部分提取出来,然后需要该段sql的地方通过include标签引入即可,这样可以达到sql语句复用的目的。
例如我们有两条相似的查询语句:

<select id="queryUserInfoByName" parameterType="string"  resultType="user">
        select * from User where username = #{username}
</select>
<select id="queryUserInfoByPhone" parameterType="string"  resultType="user">
        select * from User where phone = #{phone}
</select>

我们可以通过<sql>标签,把公共的部分定义成一个块:

<sql id="queryUserInfo">
        select * from User where 
</sql>

则上面的查询语句可以改写成:

<select id="queryUserInfoByName" parameterType="string"  resultType="user">
        <include refid="queryUserInfo"></include> username = #{username}
</select>
<select id="queryUserInfoByPhone" parameterType="string"  resultType="user">
        <include refid="queryUserInfo"></include> phone = #{phone}
</select>

posted on 2015-06-24 22:40  岚之山  阅读(335)  评论(0编辑  收藏  举报

导航