Spring中常用的hql查询方法(getHibernateTemplate())

来源:互联网 发布:淘宝商品链接在哪 编辑:程序博客网 时间:2024/05/01 08:22
  1. Spring中常用的hql查询方法(getHibernateTemplate())
  2. find(String hql);
  3. find(String hql,Object arg);
  4. find(hql,arg0,arg1);
  5. find(String hql,Object[] arg);
  6. ----------------------------------------------
  7. findByExample(Object obj,int start,int max)
  8. public List searchAll(){    
  9.     List list=null;    
  10.     try{    
  11.      User u=new User();    
  12.      u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)    
  13.      u.setName("bb");    
  14.      list=this.getHibernateTemplate().findByExample(u,start,max);    
  15.  }catch(RuntimeException re){    
  16.   throw re;    
  17.  }    
  18.  return list;    
  19.    }    
  20. ---------------------------------------------------
  21. findByNamedParam的使用
  22. 数据库中有一表Member(id,email),已经有一条记录('123','sdf@sfd.com'); 
  23. 使用以下语句查询: 
  24. String hql = "select count(*) from Member where email=:email and id!=:id"
  25. List list = this.support.getHibernateTemplate().findByNamedParam(hql,new String[] { "email""id" },new Object[] { "sdf@sfd.com""123"}); 
  26. System.out.println(list.get(0)); 
  27. -------------------------------------------------------
  28. findByNamedQueryAndNamedParam的使用 
  29. public User loadByName(String account)  throws DAOException{
  30.      List result = getHibernateTemplate().findByNamedQueryAndNamedParam("loadUserByName""userAccount", account);
  31.      if (result != null ) {
  32.         return (User)result;
  33.     } else {
  34.         return null;
  35.     }
  36. }
  37. 这是在user.hbm.xml中的代码:
  38. <query name="loadUserByName">
  39.                 <![CDATA[select user from user as user where user.name=:userAccount]]>
  40. </query>
原创粉丝点击