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