作者:文岚 | 来源:互联网 | 2022-09-28 18:55
mybatis报错:
Caused by: org.apache.ibatis.ognl.ParseException: Encountered " "AND “” at line 1
错误代码:
正确代码:
原因是:
if条件中AND为大写,大写不能识别,应改为小写。
补充:Mybatis中if判断遇到的坑
最近在项目开发的过程中,遇到了Mybatis的一个坑(也许是Mybatis有意这样设计的),对于Integer或者Long这种引用数据类型,在做if判断的时候,如果引用数据类型为0,则mybatis将会视为”“空字符串,所以走不进判断逻辑里。
以下余额字段为Long类型,availableAmount值为0时,将走不进判断方法内的示例截图:
解决方法:
在test判断条件中添加”or availableAmount==0“即可,以下是示例截图:
或者在业务场景允许的情况下,只判断availableAmount!=null
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。