MyBatis(二二):SQL片段(sql标签)
一、什么是SQL片段
就是将我们Mapper.xml文件中部分SQL语句拿出来单独用一个sql标签进行标记,这个sql标签就是一个SQL片段。
二、为什么要用到SQL片段
这个sql标签可以被引用,这样需要用到这个sql标签中的SQL语句的地方直接引用就可以,如此一来就提高了SQL代码的复用性,而不至于有大片的重复SQL。
三、SQL片段的具体使用
<sql id="select-author-title"> <if test="author != null"> and author=#{author} </if> <if test="title != null"> and title=#{title} </if> </sql> <select id="QueryBlogsByIf" resultType="Blog"> select * from mybaties.blog <where> <include refid="select-author-title"/> </where> </select>
先用sql标签将复用的SQL语句包裹起来,然后在需要的地方用include标签进行引用。
四、注意事项
1.最好基于单表来定义SQL标签。
2.不要存在where标签。