这是由于mybatis参数格式化异常导致,例如在动态sql拼接中String类型参数和数字比较。
<if test="param.xxx!= '2'">
问题类型:Error querying database. Cause: java.lang.NumberFormatException: For input string: “2021-12-01”
1
其中xxx为String类型,加单引号mybatis会认为String和char比较,也会导致报错
解决方法
1.用toString()转成字符串, ‘2’.toString()
2.改为双引号"2",外层使用单引号。
(实验过,方法1没有成功,方法2完美通过)
<if test='param.xxx!= "2"'>