org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.lang.NullPointerException: target is null for method size
### Cause: java.lang.NullPointerException: target is null for method size
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy147.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
at com.baomidou.mybatisplus.core.override.PageMapperMethod.executeForMany(PageMapperMethod.java:173)
at com.baomidou.mybatisplus.core.override.PageMapperMethod.execute(PageMapperMethod.java:86)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:64)
at com.sun.proxy.$Proxy154.patrolOverviewDeptDetail(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy155.patrolOverviewDeptDetail(Unknown Source)
at com.cserver.saas.system.module.estate.patrol.service.impl.WyPatrolLineServiceImpl.patrolOverviewDetail(WyPatrolLineServiceImpl.java:327)
at com.cserver.saas.system.module.estate.patrol.service.impl.WyPatrolLineServiceImpl.getPatrolOverviewDetailData(WyPatrolLineServiceImpl.java:250)
at com.cserver.saas.system.module.estate.patrol.service.impl.WyPatrolLineServiceImpl.downLoadOverviewDetail(WyPatrolLineServiceImpl.java:385)
at com.cserver.saas.system.module.estate.patrol.service.impl.WyPatrolLineServiceImpl$$FastClassBySpringCGLIB$$31975a5a.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685)
at com.cserver.saas.system.
真是神奇的,感觉和版本有关系,这样的方式之前完全没啥问题 projects != null and projects.size()>0,现在在这里 却必须要去掉projects.size()>0大小判断,
<if test="projects != null and projects.size()>0 and (areaIds==null or areaIds.size()==0) and opArea=='no'"> and item.PROJECT in <foreach collection="projects" item="project" open="(" separator="," close=")"> #{project} </foreach> and t.AREA_ID is null </if>
正确表示
<if test="projects != null and (areaIds==null ) and opArea=='no'"> and item.PROJECT in <foreach collection="projects" item="project" open="(" separator="," close=")"> #{project} </foreach> and t.AREA_ID is null </if>