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;
}
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;
}
需要拿到这方法的类的一个实例 然后 两个参数 :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传递 ,此处为 示例 ,如有 误导 ,敬请原谅...