hql语句传递一个数组进行查询
2010-01-05 15:19
597 查看
以前都是传递一个int或String类型的变量进行查询,这次是传递一个String的数组,查询符合要求的数据。这里就要用到拼凑字符串。数据库是Mysql。
DAO的实现层里查询代码如下:
希望以后采用这种in形式带数组查询时,能注意下。
DAO的实现层里查询代码如下:
... //这里只贴主要部分,其他略 /* 拼凑字符串,sql语句原型:select * from tableName where name in ('张三','李四'),这里是用问号赋值的方式,括号里不能直接写?,而要进行拼凑处理才行。 */ String a=""; for(int i=0;i<receiverName.length;i++){ a=a+"?"; if(i<receiverName.length-1){ a=a+","; } } System.out.println(a); System.out.println(receiverName[0]); //根据多个用户查询与之对应的id List ids = publicDao.findByValues("select id from User where pid in (select id from Persion where name in ("+a+"))", receiverName); //这里的receiverName是传过来的String数组 //主要是上面部分 Integer[] receiverIds = new Integer[ids.size()]; for(int i = 0;i<receiverIds.length;i++){ receiverIds[i] = (Integer) ids.get(i); //把ids里的值赋给receiverIds } ...
希望以后采用这种in形式带数组查询时,能注意下。
相关文章推荐
- Hibernate(3)-使用HQL语句进行数据查询
- Eclipse使用hibernate进行HQL语句查询时,速度慢的原因之一
- hibernate执行hql语句进行查询时,如果实体类有子类不仅会查询该类而且也会查询子类(子类在hbm中进行了配置)
- php对特殊语句查询结果进行数组排序
- php对特殊语句查询结果进行数组排序
- hql语句中用:号的时候怎么用like进行条件查询
- sqlHelper封装类,用于对数据库的操作,此类将查询操作中返回的结果集传递给了一个数组,直接将资源关闭
- 使用Query进行HQL语句查询和SQL语句查询
- 使用SQL查询语句时,数组动态赋值SQL IN ()作为条件条件一个
- 在hibernate中使用HQL语句和QBC两种方法进行查询
- 使用json实现查询条件传回Action进行hql语句拼接查询实现在结果中查询功能在datagrid中显示查询结果
- 使用SQL查询语句时,数组动态赋值SQL IN ()作为条件条件一个
- php对特殊语句查询结果进行数组排序
- php对特殊语句查询结果进行数组排序
- Java Hibernate中使用HQL语句进行数据库查询的要点解析
- SSH+HQL语句进行复杂查询的一些小知识点泛谈
- sql语句 一个关键字查询多个数组
- linux Shell脚本里面把一个数组传递到awk内部进行处理
- 一个表里有多个字段需要同时使用字典表进行关联显示,如何写sql查询语句
- hibernate单向一对多,对多的那方进行查询并且进行排序的hql语句