发布网友 发布时间:2022-04-22 02:29
共5个回答
懂视网 时间:2022-04-11 14:22
/**
* 工具-字符串-转换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
热心网友 时间:2022-04-11 11:30
在java.sql.Date类中有一个叫valueOf(String s)的方法,它返回的方法就是你要的类型,不过它对传入的String s有一定的显示,必须是“yyyy-mm-dd”格式的数据。如果不是制定格式的数据,他会抛出“IllegalArgumentException”的异常。热心网友 时间:2022-04-11 12:48
String str="1989-11-23 12:25:20";热心网友 时间:2022-04-11 14:23
public java.sql.Date Str2Date(String str){热心网友 时间:2022-04-11 16:14
valueOf(String time)