protected List find(String hql,List params) {
List list=new ArrayList();
try{
//1、获取Session
session =HibernateSessionFactory.getSession();
//2、拼写hql语句
//3、创建执行语句对象
Query query=session.createQuery(hql);
//传参
if(params!=null && params.size()>0){
for(int i=0;i<params.size();i++){
query.setParameter(i, params.get(i));
}
}
//4、执行并返回结果
list=query.list();
}catch (Exception e) {
System.out.println("根据传入的hql语句,获取查询结果错误:"+e.getMessage());
}finally{
//session.close();
}
return list;
}
------解决方案--------------------
- Java code
你这个应该是dao需要拿到这方法的类的一个实例 然后 两个参数 :hql 和 paramsprotected List find(String hql,List params) {两个参数 :hql 和 paramshql 类似一下写法String hql = " from " + MyPojo.class.getName() + " where myProp1 = ? and myProp2= ?" ;List params = new ArrayList() ;params.add("第1条件值") ;params.add("第2条件值") ;List retList = find(hql, params) ;返回的List中均为 MyPojo类的对象;MyPojo.java 如下 :public class MyPojo{ private String myProp1 ; private String myProp2 ; public String getMyProp1() { return myProp1; } public void setMyProp1(String myProp1) { this.myProp1 = myProp1; } public String getMyProp2() { return myProp2; } public void setMyProp2(String myProp2) { this.myProp2 = myProp2; }}//根据你的实际pojo传递 ,此处为 示例 ,如有 误导 ,敬请原谅...