invalid comparison: java.util.ArrayList and java.lang.String解决

报错:

Caused by: org.apache.ibatis.exceptions.PersistenceException: 
### 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

原因:

我的orderStates是一个数组格式,我此处判断的是 orderStates!=null,故报错。应该改成orderState.size()>0

<if test="orderStates !=null and orderStates!=''">
      AND State in
        <foreach collection="orderStates" item="state"  open="(" separator="," close=")" >
            #{state}
        </foreach>
    </if>

正确书写如下:

<if test="orderStates !=null and orderStates.size > 0">
      AND State in
        <foreach collection="orderStates" item="state"  open="(" separator="," close=")" >
            #{state}
        </foreach>
    </if>

 

posted @ 2019-03-01 09:23  kerala  阅读(1563)  评论(0编辑  收藏  举报