在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>

相关文章:

  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-04-11
  • 2021-12-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-07-18
相关资源
相似解决方案