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;
}

解决方案 »

  1.   

    你这个应该是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传递 ,此处为 示例 ,如有 误导 ,敬请原谅...