当使用Map做为参数时,可以用_parameter.containsKey(变量名)来判断map中是否包含有些变量:
<select id="selectRule" parameterType="Map" resultType="com.ourangel.weixin.domain.db.Rule">
SELECT ruleId,msgType,event,respId,reqValue,firstRespId,createDate,yn
FROM oal_tb_rule
WHERE yn = 1
<if test="_parameter.containsKey('msgType')">
AND msgType = #{msgType,jdbcType=VARCHAR})
</if>
<if test="_parameter.containsKey('event')">
AND event = #{event,jdbcType=VARCHAR})
</if>
</select>