Hibernate中使用Criteria查询实例

hibernate支持一种java编写习惯的查询api,使用session建立net.sf.hibernate.Criteria,您可以在不用sql甚至hql的情况下进行查询。

创新互联建站成立与2013年,是专业互联网技术服务公司,拥有项目网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元高邑做网站,已为上家服务,为高邑各地企业和个人服务,联系电话:18980820575

如果我们要查询User的所有信息我们可以如下使用Criteria查询:

 
 
 
  1. Criteria crit = session.createCriteria(User.class);  
  2.         List users = crit.list();  
  3.         for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {  
  4.             User user = (User) iterator.next();  
  5.             System.out.println("name: " + user.getName());  
  6.             System.out.println("age: " + user.getAge());             
  7.         }  

我们要为查询限定条件,可以通过net.sf.hibernate.expression.Expression设置Expression有很多的条件查询方法下面举一些例子:

 
 
 
  1. Criteria crit = session.createCriteria(User.class);  
  2.         crit.add(Expression.ge("age", new Integer(25)));  
  3.         List users = crit.list(); 

ge()表示大于等于,即age大于等于25的user。

 
 
 
  1. crit.add(Expression.gt("age", new Integer(20)));  
  2. crit.add(Expression.between("weight", new Integer(60),new Integer(80)));  
  3. List users = crit.list(); 

Criteria查询结果中的between表示weight在60和80之间。

 
 
 
  1. crit.add(Expression.or(  
  2.                    Expression.eq("age", new Integer(20)),  
  3.                    Expression.isNull("age")  
  4.                ));  
  5. List users = crit.list();  

eq表示age为20的user。

 
 
 
  1. Criteria crit = session.createCriteria(User.class);  
  2. crit.setFirstResult(51);  
  3. crit.setMaxResult(50);  
  4. List users = crit.list(); 

setMaxResult()设置返回的信息条数,setFirstResult()设置查询结果的初始位置,上面的程序段可以实现分页。

以上提供了一个简单的Criteria查询实例。

当前题目:Hibernate中使用Criteria查询实例
文章地址:http://www.csdahua.cn/qtweb/news31/530931.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网