码迷,mamicode.com
首页 > 数据库 > 详细

Java字符串转Sql语句In格式工具方法

时间:2020-06-30 19:06:26      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:rto   none   i++   spl   join   split   bin   turn   mat   

/** * 工具-字符串-转换Sql查询IN中使用的格式 * 效果:a,b==>‘a‘,‘b‘ * @param str * @return */ public String strToDbin(String str){ return String.format("‘%s‘", StringUtils.join(str.split(","),"‘,‘")); } /** * 工具-字符串-转换为Sql查询分组IN格式 * 解决:Sql中in超过1000个报错问题 * @param field 列名,例如:ID * @param strIns 待拆分的字符串 a,b,c * @return field in(‘a‘) and field in(‘b‘) and field in(‘c‘) */ public String strToSqlGroupIn(String field,String strIns) { int groupNum = 1; String groupInArr = new String(); StringBuffer buffer=new StringBuffer(); if(StringUtils.isNoneBlank(strIns)){ String[] array=strIns.split(","); //数组总长度 int len=array.length; //分组数 int groupCount=len/groupNum; for(int k=0;k<groupCount;k++){ groupInArr=new String(); for(int i=(k*groupNum);i<(k*groupNum+groupNum);i++){ if(i>k*groupNum){ groupInArr+=","; } groupInArr+=array[i].trim(); } if(k>0){ buffer.append(" and "); } buffer.append(String.format(" %s in(%s)",field,strToDbin(groupInArr))); } if(len%groupNum != 0){ //未整除 groupInArr=new String(); //处理最后一组数据 for(int j=(groupCount*groupNum);j<len;j++){ if(j>groupCount*groupNum){ groupInArr+=","; } groupInArr+=array[j].trim(); } if(buffer.length()>0){ buffer.append(" and "); } buffer.append(String.format(" %s in(%s)",field,strToDbin(groupInArr))); } } return buffer.toString(); }

Java字符串转Sql语句In格式工具方法

标签:rto   none   i++   spl   join   split   bin   turn   mat   

原文地址:https://blog.51cto.com/zl0828/2507761

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!