在開發中,我們常常需要把前台input傳入的多個值的數組,拼接成一個字符串,中間用","隔開,再傳入到后台做查詢
String [] strs = {"銅川","安康","商洛","延安","寶雞","漢中","榆林","咸陽","西安"}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < strs.length; i++) { sb.append("'"+strs[i]+"',"); } String str = (sb.substring(0,sb.length()-1)).toString();//把最后多余的","去掉
上面這種方法會比較耗時,可能會有String存不下的情況,所以用以下方法存入的話,會更有效率,更安全.
String [] strs = {"銅川","安康","商洛","延安","寶雞","漢中","榆林","咸陽","西安"}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < strs.length; i++) { sb.append("'"+strs[i]+"'");//拼接單引號,到數據庫后台用in查詢. if(i!=strs.length-1){//前面的元素后面全拼上",",最后一個元素后不拼 sb.append(","); } }
這種方法和前面輸出結果一樣,不用做字符串切割最后一位的逗號,更簡潔,這樣,就可以傳入到后台做查詢啦(mybatis里in是(${str})這樣傳值的,需注意是$,而不是#)