/**
* 比如在项目中我们经常遇到这样的问题,从前台我们选择了好多id,在后台我们需要用一个数组来接,
* 而我们真正要做的是通过sql来查询出和id有关的对象,这里我们经常要用到sql语句的in关键字
* 但是我们只是接了一个数组,而真正要做的是要弄成这样的格式:from XXX where id in('xxx','xxx','xxx');
* 所以我们现在要做的是把数组弄成括号里面的那种格式
*/
public class Test {
public static void main(String args[]){
//怎么从前台接的数组就不说了,我写了一个固定的string数组在下面,假如数组里面的就是我们从前台接来的id
String ids[]=new String[]{"120","121","122","124","125"};
/***********第一种方法 开始**************/
StringBuffer sb = new StringBuffer();
for(int i=0;i<ids.length;i++){
sb.append("'" + ids[i] + "'");
if(i != ids.length -1){
sb.append(",");
}
}
//通过上面的StringBuffer我们已经得到了要拿到的格式,下面就可以写sql语句了
String hql = "from xxx where id in (" + sb.toString() + ")";
//通过下面的list集合我们就拿到了对象集
List list = xxxDAO.getHibernateTemplate().find(hql);
/***********第一种方法 结束**************/
/***********第二种方法 开始**************/
//通过增强for循环得到我们需要的格式
String needId = "";
for(String id : ids){
needId += "'" + id + "'" + ",";
}
needId = needId.substring(0, needId.length()-1);
//通过上面的这句代码我们已经拿到了想要的格式,接下来就可以放到sql语句当中去了
String needHql = "from xxx where id in (" + needId + ")";
//通过下面的list集合我们就拿到了对象集
List objectList = xxxDAO.getHibernateTemplate().find(needHql);
/***********第二种方法 结束**************/
/***********第三种方法 开始**************/
//通过iterator的迭代来得到我们需要的格式 这里只是举例 没有对应的vo和实现类
List<deptListVOImpl> xbs = deptListDAO.getDeptList(dproj_id, "xb");
if(xbs.size()>0){
Iterator it1 = xbs.iterator();
String xb = "";
while (it1.hasNext()) {
deptListVOImpl detail = (deptListVOImpl) it1.next();
xb += detail.getDeptName() + ",";
}
xb = xb.substring(0,xb.length()-1);
//现在拿到的xb就是我们要得到的格式
}
/***********第三种方法 结束**************/
}
}
分享到:
相关推荐
js 遍历数组取出字符串用逗号拼接;js 如何获取循环出来的最后一个i或者取i的最大值
利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点.pdf 利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点.pdf 利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点.pdf...
如何使用asp遍历数组 实现单用户多密码登陆' ------------------------------ 虚心使人进步,傻逼总是落后 想学习就虚心一点,耐心一点~~~
该文档代码讲述了如何在jsp页面iterator遍历数组、Map、List集合
java代码-解决请把这5个人的信息存到数组中,并遍历数组,获得每个人信息的问题java源代码 ——学习参考资料:仅用于个人学习使用
AngularJS遍历数组由于数组元素重复导致的错误解决方案
一、使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。 实例代码如下: 复制代码 代码...
遍历数组和链表 数组和链表.pdf
for循环遍历数组每一项元素
java遍历数组方法 在Java中,你可以通过几种不同的方式遍历数组。以下是一些常见的方法:
$.each()遍历数组或对象的具体用法
js 实现 JavaScript遍历数组! 值得下载看看!资源免费,大家分享!!
这个代码的作用是遍历数组并输出每个元素的值。具体来说,它定义了一个包含三个水果名称的数组$fruits,然后使用foreach循环遍历这个数组,并将每个元素赋值给变量$fruit。在每次循环中,我们使用echo语句输出当前...
这个代码的作用是遍历数组并输出每个元素的值。具体来说,它定义了一个包含三个水果名称的数组$fruits,然后使用foreach循环遍历这个数组,并将每个元素赋值给变量$fruit。在每次循环中,我们使用echo语句输出当前...
博主最近一直在学习JavaScript,今天给大家分享如何遍历JavaScript中的数组和对象的元素,这篇文章相当于做一篇小的笔记,希望能帮助到大家! 遍历数组 [removed] var arr = ['关羽','张飞','赵云','马超','黄忠'];...
for循环遍历数组
JS实现递归遍历数组
本文给大家js遍历数组和遍历对象的区别,一般来说for用来遍历数组对象而for-in用来遍历非数组对象。接下来小编给大家带来了js遍历数组和对象的区别及js递归遍历对象、数组、属性的方法详解,一起看下吧