前台传入多个参数(数组格式),拼接成字符串中间用逗号隔开,传入到sql中用in查询.

在开发中,我们常常需要把前台input传入的多个值的数组,拼接成一个字符串,中间用","隔开,再传入到后台做查询[html] view plain copy

  1. String []  strs = {"铜川","安康","商洛","延安","宝鸡","汉中","榆林","咸阳","西安"};  
  2.         StringBuilder sb = new  StringBuilder();  
  3.         for (int i = 0; i < strs.length; i++) {  
  4.             sb.append("'"+strs[i]+"',");  
  5.         }  
  6.   
  7.      String str =    (sb.substring(0,sb.length()-1)).toString();//把最后多余的","去掉  

上面这种方法会比较耗时,可能会有String存不下的情况,所以用以下方法存入的话,会更有效率,更安全.

[java]  view plain  copy
  1. String []  strs = {"铜川","安康","商洛","延安","宝鸡","汉中","榆林","咸阳","西安"};  
  2.         StringBuilder sb = new  StringBuilder();  
  3.         for (int i = 0; i < strs.length; i++) {  
  4.             sb.append("'"+strs[i]+"'");//拼接单引号,到数据库后台用in查询.  
  5.             if(i!=strs.length-1){//前面的元素后面全拼上",",最后一个元素后不拼  
  6.                 sb.append(",");  
  7.             }  
  8.         }  
这种方法和前面输出结果一样,不用做字符串切割最后一位的逗号,更简洁,这样,就可以传入到后台做查询啦(mybatis里in是(${str})这样传值的,需注意是$,而不是#)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值