将可以重复使用的sql做成sql片段,所有的statement中可以引用这个sql片段
定义sql片段
定义sql片段
<!-- 定义sql片段
sql片段的唯一标识
基于单表来定义sql片段,
-->
<sql id="query_user_where">
<if test="userCustom!=null">
<if test="userCustom.sex!=null and userCustom.sex!=''">
and user.sex = #{userCustom.sex}
</if>
<if test="userCustom.username!=null and userCustom.username!=''">
and user.username LIKE '%${userCustom.username}%'
</if>
</if>
</sql>
应用sql片段
<select id="findUserCount" parameterType="dancheng.mybatis.po.UserQueryVo"
resultType="int">
SELECT count(*) FROM USER
<where>
<!-- 引用sql片段,如果refid指定的id不在本mapper文件中,需要前面加namespace -->
<include refid="query_user_where"></include>
</where>
</select>