mybatis 3.3.0 对集合的非null判断 Bug

针对Map<String,List<Object>>类型,如果传入 List<Object>集合为null 或“”,3.2.8 xml里仅 !=null 能走进非空判断,如果这里加上 !="",成功;但是3.3.0会报错;故针对这种场景,List<Object>的“”判断选择在外部根据size做判断,这样就可以避免因mybatis的版本引起的问题了

Q:测试服工程正常,本地测试抛异常,异常如下:

### Error querying database.  Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String

### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String



 

问题代码如下:


 

原因: 测试服pom.xml 和本地 pom.xml 不一样

具体解决方案:

第一种:把问题代码的 !='' 判断删除掉;

第二种:把pom.xml 中 mybatis 版本改成以前的 3.28,如下图:



 

猜你喜欢

转载自bugyun.iteye.com/blog/2271812