问题描述
使用mybatis的时候访问报错,报异常如下:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘enterpriseIds!=null and enterpriseIds.length>0’. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: java.util.ArrayList.length
看异常信息貌似是说这个表达式enterpriseIds!=null and enterpriseIds.length>0有问题。



解决过程
- 首先dao层当中的参数名称和xml当中的参数名称,发现是一样的没有什么问题
- 我传的值并没有null的情况,理论上就算传null有if判断也不应该报错
后来发现犯了一个特别傻的错误:集合用size 数组用length
修改为如下即可解决:
<if test="enterpriseIds!=null and enterpriseIds.size>0">
本文记录了一次使用MyBatis过程中遇到的表达式评估错误,并详细解释了如何从enterpriseIds!.null and enterpriseIds.length>0调整为正确的enterpriseIds!=null and enterpriseIds.size>0,解决了由于使用错误属性导致的问题。
1万+

被折叠的 条评论
为什么被折叠?



