今天遇到一个问题折腾了一个小时多,根据传进来的用户id集合查询这些用户的信息,因为是从redis获取的id集合,是字符串set,一开始以为是类型错误,转成了Integer后还是报错,
原因:
传入的list为空报错
解决方法:
使用判断
<select id="findUsers" resultType="User">
select *
from db_campus_user
where
<if test="ids!=null and ids.size()>0">
user_id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item,javaType=String,jdbcType=int}
</foreach>
</if>
<if test="ids==null or ids.size()==0">
1=0
</if>
</select>