问题复现:

<if test="checkResult != null and checkResult != '' "> and check_result = #{checkResult}</if>

原因是checkResult是Intager类型的,而mybatis != ‘ ’就是认为长度为0,所以这两个判断下来为true

正确代码:

<if test="checkResult != null"> and check_result = #{checkResult}</if>