傳入用逗號分隔的字符串:
StringBuilder sb = new StringBuilder();
for(int i=0;i<list_userid.size();i++){
if (sb.length() > 0) {//該步即不會第一位有逗號,也防止最後一位拼接逗號!
sb.append(",");
}
sb.append(list_userid.get(i).getUserId());
}
//將拼接好的字符串輸出查看
System.out.println(sb.toString());
然後傳到映射文件中,(注意,拼接後的字符串長度可能很大,小心數據庫報長度的錯誤。如果真的遇到這個錯,然後字符串又必須拼接,那麼當然就只能去改表字段的大小了。。(ps:我沒有遇到這個錯))
<if test="userId != null and userId != ''">
AND user_id IN
<foreach item="item" collection="userId.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
親試有效,哈哈哈。