场景描述:
// 代理
public static final String OPERATE_TYPE_FOR_PROXY = "3";
// 强制
public static final String OPERATE_TYPE_FOR_FORCE = "4";
String operateType = OPERATE_TYPE_FOR_PROXY;
<select id="query" parameterType="Xxx.xxx" resultType="Xxx.xxx">
<if test="operateType == '3'">
<!-- sql -->
</if>
<if test="operateType == '4'">
<!-- sql -->
</if>
</select>
注意:此处的operateType参数类型是字符串,值为数字
正常情况下当参数是字符串时使用单引号将值包裹,若是数字则不需要单引号。
在执行单元测试时发现按上述方式会导致无法获取对应的sql,反复调试直到将单引号去掉才正常获取对应的sql,不清楚为何这样,仅记录。