在使用isEqual 标签需要注意一下
<isEqual prepend="" compareProperty="moduleFlag" compareValue="0">
AND xxx>0
</isEqual>
查询时报错 注:查询的map里已经存放了moduleFlag和对应的值
com.ibatis.common.beans.ProbeException: Could not get property 'moduleFlag' from null reference. Cause: java.lang.NullPointerException
at com.ibatis.common.beans.ComplexBeanProbe.getProperty(ComplexBeanProbe.java:333)
at com.ibatis.common.beans.ComplexBeanProbe.getObject(ComplexBeanProbe.java:198)
at com.ibatis.common.beans.GenericProbe.getObject(GenericProbe.java:74)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.ConditionalTagHandler.compare(ConditionalTagHandler.java:74)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.IsEqualTagHandler.isCondition(IsEqualTagHandler.java:21)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.ConditionalTagHandler.doStartFragment(ConditionalTagHandler.java:41)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:156)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:98)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:78)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getSql(DynamicSql.java:51)
at com.alibaba.cobar.client.CobarSqlMapClientTemplate.getSqlByStatement(CobarSqlMapClientTemplate.java:851)
at com.alibaba.cobar.client.CobarSqlMapClientTemplate.lookupDataSourcesByRouter(CobarSqlMapClientTemplate.java:816)
at com.alibaba.cobar.client.CobarSqlMapClientTemplate.queryForList(CobarSqlMapClientTemplate.java:454)
at com.alibaba.cobar.client.CobarSqlMapClientTemplate.queryForList(CobarSqlMapClientTemplate.java:522)
经过查看ibatis源码ibatis-2.3.4.726.jar 的源码发现
报错原因object为空 ,也就是moduleFlag对应的值为空,明明传入了moduleFlag怎么还报空指针