这是由于mybatis参数格式化异常导致,例如在动态sql拼接中String类型参数和数字比较。
<if test="param.xxx != '1'">
其中xxx为String类型,加单引号mybatis会认为String和char比较,也会导致报错
解决方法
- 用toString()转成字符串,
'1'.toString()
- 改为双引号"1",外层使用单引号。
改为:<if test='param.xxx!= "1"'>
这是由于mybatis参数格式化异常导致,例如在动态sql拼接中String类型参数和数字比较。
<if test="param.xxx != '1'">
其中xxx为String类型,加单引号mybatis会认为String和char比较,也会导致报错
解决方法
'1'.toString()
改为:<if test='param.xxx!= "1"'>