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

本文介绍了一种将数组高效转换为字符串的方法,适用于前后端数据交互,特别是使用mybatis进行数据库查询时,通过逗号分隔的字符串参数可以方便地进行IN操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中,我们常常需要把前台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})这样传值的,需注意是$,而不是#)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值