Fight With Me!!!

导航

HibernateTemplate 查询

Spring中常用的hql查询方法getHibernateTemplate()上 
  
  一、find(String queryString); 
  示例:this.getHibernateTemplate().find("from bean.User");
  返回所有User对象
  
  二、find(String queryString , Object value);
  示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
  或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
  返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)
  
  三、find(String queryString, Object[] values);
  示例:String hql= "from bean.User u where u.name=? and u.password=?"
  this.getHibernateTemplate().find(hql, new String[]{"test", "123"});
  返回用户名为test并且密码为123的所有User对象
  
  ---------------------------------
  
  四、findByExample(Object exampleEntity)
  示例: User u=new User(); 
  u.setPassword("123");//必须符合的条件但是这两个条件时并列的(象当于sql中的and) 
  u.setName("bb"); 
  list=this.getHibernateTemplate().findByExample(u,start,max); 
  返回:用户名为bb密码为123的对象
  
  五、findByExample(Object exampleEntity, int firstResult, int maxResults)
  示例: User u=new User(); 
  u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and) 
  u.setName("bb"); 
  list=this.getHibernateTemplate().findByExample(u,start,max); 
  返回:满足用户名为bb密码为123,自start起共max个User对象。(对象从0开始计数) 
  
  六、findByNamedParam(String queryString , String paramName , Object value)
  使用以下语句查询: 
  String queryString = "select count(*) from bean.User u where u.name=:myName"; 
  String paramName= "myName";
  String value= "xiyue";
  this.getHibernateTemplate().findByNamedParam(queryString, paramName, value); 
  System.out.println(list.get(0)); 
  返回name为xiyue的User对象的条数
  
  七、findByNamedParam(String queryString , String[] paramName , Object[] value)
  示例: String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword"; 
  String[] paramName= new String[]{"myName", "myPassword"};
  String[] value= new String[]{"xiyue", "123"};
  this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
  返回用户名为xiyue密码为123的User对象
  
  八、findByNamedQuery(String queryName)
  
 

 示例: 1、首先需要在User.hbm.xml中定义命名查询
  
  <query name="queryAllUser"> 
  <![from User]]> 
  </query>  


    2、使用查询:  
  this.getHibernateTemplate().findByNamedQuery("queryAllUser");

 

  
  九、findByNamedQuery(String queryName, Object value) 
  
  

示例: 1、首先需要在User.hbm.xml中定义命名查询 

  <query name="queryByName"> 
 <![from User where u.name = ?]]> 
 </query>  
  2、使用查询:   
  this.getHibernateTemplate().findByNamedQuery("queryByName", "test"); 

 

posted on 2015-05-17 21:26  nickTimer  阅读(690)  评论(0编辑  收藏  举报