mybatis 集合报错 invalid comparison: java.util.ArrayList and java.lang.String
mybatis 循环一个list集合,但是出现这个错误:Caused by: org.apache.ibatis.exceptions.PersistenceException:### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList
·
mybatis 循环一个list集合,但是出现这个错误:
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
错误的sql:
<if test="vehicleNums != null and vehicleNums != '' ">
and bill.order_num in
<foreach item="vehicleNum" collection="vehicleNums" open="(" separator="," close=")">
#{vehicleNum}
</foreach>
</if>
原因是:
- 在接收list的时候加了判断 list != ‘’,引起了集合与Stirng类型的比较,故报错

修改后:
<if test="vehicleNums != null and vehicleNums.size() > 0 ">
and bill.order_num in
<foreach item="vehicleNum" collection="vehicleNums" open="(" separator="," close=")">
#{vehicleNum}
</foreach>
</if>
更多推荐



所有评论(0)