前台傳入多個參數(數組格式),拼接成字符串中間用逗號隔開,傳入到sql中用in查詢.


在開發中,我們常常需要把前台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})這樣傳值的,需注意是$,而不是#)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM