Cause: org.apache.ibatis.ognl.NoSuchPropertyException: java.util.ArrayList.length

问题描述

使用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有问题。

Cause: org.apache.ibatis.ognl.NoSuchPropertyException: java.util.ArrayList.length_第1张图片
在这里插入图片描述
Cause: org.apache.ibatis.ognl.NoSuchPropertyException: java.util.ArrayList.length_第2张图片

解决过程

  1. 首先dao层当中的参数名称和xml当中的参数名称,发现是一样的没有什么问题
  2. 我传的值并没有null的情况,理论上就算传null有if判断也不应该报错

后来发现犯了一个特别傻的错误:集合用size 数组用length

修改为如下即可解决:


你可能感兴趣的:(常见报错,java,apache,mybatis)