将对象[]传递给sql查询 [英] passing object[] to sql query

查看:61
本文介绍了将对象[]传递给sql查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我有一个类别ID的列表。现在我想从基于产品类别的数据库中获取产品,该产品类别将包含在该列表中,并且还包含产品名称,如XYZ。如何使用IN子句实现此目的。
有没有人有任何想法,我通过传递的方式尝试了这一点,但我得到空列表

In my application i have list of category ids.Now i want to get products from database based on product category which will be contains in that list and also product name like some "XYZ".How can achieve this by using IN clause. Is anyone have any idea i tried this by passing way but i get empty list

我的代码是:

Object[] cids=final_cats.toArray();
String cds=final_cats.toString();
String query="select fpd from FTextProductDetails ftpd inner join ftpd.fProductDetails fpd WHERE fpd.categoryId in( "+cds+" )and ftpd.productName like ?" ;
Object[] values=new Object[]{'%'+productName+'%'};
List<Object[]> list=HibernatePaginationImpl.findProductsByName(query, values,pageSizeLimit , pageNumber,this.baseDao);

此处final_cats包含所有类别。

here final_cats have all categories.

推荐答案

我解决了我的问题。

以下是代码:

Here's the code :

Object[] cids=final_cats.toArray();
String cds="";
for(Object o:cids) {

        cds=cds+o+",";
}

cds=cds.substring(0, cds.length()-1);

String query="select fpd from FTextProductDetails ftpd inner join ftpd.fProductDetails fpd WHERE fpd.categoryId in( "+cds+")and ftpd.productName like ?" ;
Object[] values=new Object[]{'%'+productName+'%'};
List<Object[]> list = HibernatePaginationImpl.findProductsByName(query, values,pageSizeLimit , pageNumber,this.baseDao);

这篇关于将对象[]传递给sql查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆