RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
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查询实例
URL链接:http://www.jxjierui.cn/article/dpjehcj.html