问题:发现mapper文件中对输入字符串类型参数进行判断,发现不起效
mapper中代码的实现,发现前端输入的参数“reportType"即使为”1“,也不起效
<if test="param.reportType != null and param.reportType == '1'">
and closed_tm is not null -- 关闸时间不为空,即正常
</if>
原因
因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串变量是否是字符串的时候 会把’1’解析为字符,java是强类型语言,所以不能这样写
解决方案
使用OGNL语法,增加toString()函数就能解决该问题
<if test="param.reportType != null and param.reportType == '1'.toString()">
and closed_tm is not null -- 关闸时间不为空,即正常
</if>
参考
https://blog.csdn.net/ximaiyao1984/article/details/112094431
https://blog.csdn.net/qq_45074341/article/details/139627533