`

遍历数组中字段,加逗号隔开

    博客分类:
  • java
SQL 
阅读更多
/** 
* 比如在项目中我们经常遇到这样的问题,从前台我们选择了好多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就是我们要得到的格式  
        }     
        /***********第三种方法  结束**************/ 
    }  
      
      

分享到:
评论

相关推荐

    如何使用asp遍历数组 实现单用户多密码登陆

    在数据库表中,可以有一个用户ID字段和一个密码数组字段,后者用于存储用逗号分隔的多个密码。 2. **连接数据库**:在ASP页面(如"test.asp")中,我们需要使用ADO(ActiveX Data Objects)建立与数据库的连接。这...

    MySQL将一个字段中以逗号分隔的取出来形成新的字段实现

    `b.help_topic_id (LENGTH(a.related_shop_ids) - LENGTH(REPLACE(a.related_shop_ids, ',', ''))+1)`计算出`related_shop_ids`中逗号的数量加1,确保遍历所有ID。 接下来,我们将拆分后的商店ID与`shops`表连接,...

    Oracle字段根据逗号分割查询数据的方法

    在Oracle数据库中,有时我们遇到一个特殊的查询需求,即字段中的值是以逗号分隔的字符串,我们需要根据每个单独的值来查询数据。在这种情况下,简单的`LIKE`查询无法满足需求,因为`LIKE`通常用于匹配模式,而不是...

    将逗号分隔的字符串转换为行记录.rar

    这通常发生在数据导入时,原始数据源以逗号为字段分隔符,但在Excel中,我们可能希望每个字段占据一行。本教程将详细解释如何使用Excel的VBA(Visual Basic for Applications)宏来实现这一转换过程。 首先,理解...

    php读取csv数据保存到数组的方法_.docx

    接下来,使用`foreach`循环遍历数组并打印每个记录的学号、姓名、年龄和身高。 通过这个类,你可以方便地处理CSV文件,将数据转换为PHP数组,便于进一步的处理和分析。同时,`ordenamultiarray()`方法提供了按指定...

    php遍历CSV类实例.docx

    这个类实现了PHP的`Iterator`接口,允许我们像遍历数组一样遍历CSV文件。下面是对`CSVIterator`类的详细说明: 1. **Iterator接口**: `Iterator`是PHP的一个内置接口,它定义了五个方法:`rewind()`、`current()`...

    使用Lambda表达式查找指定字符

    index : -1`,它遍历字符串中的每个字符,如果字符等于`targetChar`,则返回该字符的索引,否则返回-1。然后`Where`方法过滤掉非目标字符的索引,最终`indices`将包含所有'a'字符的索引。 Lambda表达式的优点在于...

    php读取csv数据保存到数组的方法

    随后,使用`foreach`循环遍历数组,打印每个元素的“学号”、“姓名”、“年龄”和“身高”字段,这展示了如何从CSV文件中读取和处理数据。 总结起来,PHP中读取CSV数据并保存到数组的方法通常涉及以下步骤: 1. ...

    php中实现用数组妩媚地生成要执行的sql语句

    - 对于要插入的数据(insert类型),函数会遍历数组,将所有键和值通过逗号分隔开,形成SQL语句的values部分。 3. SQL语句拼接: - 对于插入类型(insert),函数首先获取数组的所有键并将它们用反引号(`)包围,...

    jQuery实现可选择字段导出excel.zip

    此外,$.each()方法可以遍历数组或对象,而$.ajax()用于执行异步HTTP请求,这些都是在实现导出功能时可能用到的基础工具。 在“可选择字段导出excel”的场景中,我们首先需要创建一个用户界面,让用户能够选择他们...

    如果你想要统计某个字段中个位数出现的次数.rar

    此外,如果字段中的数字是分隔开的(例如,用逗号或空格分隔),我们需要在解析时考虑到这些分隔符。 在实际应用中,你可能会遇到更复杂的情况,比如数据存储在文件中,或者需要处理的数据量非常大。在这种情况下,...

    SQLServer中求两个字符串的交集

    这里,`replace()`函数用于将输入字符串中的逗号(`,`)替换为JavaScript数组元素之间的引号和逗号(`,`)。这样,原本的字符串就被转换成了两个JavaScript数组`a`和`b`。 接下来,定义了一个循环来遍历这两个数组...

    php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)

    在编写代码时,开发者需要打开一个文件句柄,并遍历数组,使用fputcsv()将每一行数据写入文件。下面的错误代码中,可以看到多维数组在使用时,应该用逗号(,)来连接各个字段,但在错误代码中,误用了分号(;)作为...

    PHP数据导出成csv

    CSV文件是以逗号分隔的数据值,每一行代表一条记录,每个字段之间用逗号隔开。如果字段中包含逗号或其他特殊字符,通常会用双引号括起来。例如: ``` "姓名","年龄","城市" "张三",30,"北京" "李四",25,"上海" ``` ...

    c++获取sqlite3数据库表中所有字段的方法小结

    在C++中与SQLite3数据库交互时,获取数据库表中的所有字段是一项常见的需求。本文将详细阐述三种常用的方法,帮助开发者有效地实现这一功能。 方法1:使用`sqlite3_get_table`函数 `sqlite3_get_table`是SQLite3...

    VisualBasic-使用VisualBasic开发的CSV解释器-parser.zip

    - 数据处理:遍历数组,处理每个字段,可能包括去除引号、处理转义字符等。 - GUI设计:创建用户界面,展示CSV数据,允许用户进行搜索、排序、过滤等操作。 4. **设计与实现** CSV解释器可能包含以下组件: - ...

    matlab开发-地窖raytocsvfilecell2csvm

    它的核心逻辑可能是遍历单元格数组,将每个元素转换为字符串,然后按照CSV的规则(逗号分隔,换行表示新行)拼接这些字符串,最后将结果写入文件。在MATLAB中,可以使用`fprintf`函数将数据写入文件,或者使用`...

    2021-2022计算机二级等级考试试题及答案No.5250.docx

    12. C语言数组:在C语言中,数组是一个连续的内存空间,指针可以用来遍历数组。程序会输出9,因为指针p指向数组的第一个元素,遍历后输出最后一个元素的地址。 13. DOS命令:COPY A:*.* B:等价于DISKCOPY A: B:,都...

    csv生成datagirdview datagirdview转csv源码

    CSV(Comma Separated Values)是一种常见的数据存储格式,它以逗号作为字段分隔符,每一行代表一条记录,每个字段之间用逗号隔开。在编程领域,CSV文件常用于数据导入导出,特别是在数据库管理和数据分析中。在.NET...

    txt读取文本

    3. **设置属性值**:遍历数组,设置 `Names` 对象的各个属性。 4. **计算总金额**:累加每行数据中的金额字段。 #### 六、资源管理与异常处理 ```java try { inputStream.close(); bufReader.close(); } catch ...

Global site tag (gtag.js) - Google Analytics