天天看点

Hibernate Criteria查询

⦁ 简述

Criteria是一种比hql更面向对象的查询方式

Criteria本身只是查询的容器。Criteria查询又称对象查询  

Criteria查询采用面向对象的方式封装查询条件。由Hibernater自动生成SQL查询语句

啥都和以前一样!

Hibernate Criteria查询

@Test

public void select() {

Session session =HibernateUtil.getCurrentSession();

List<Users> user=null;

//声明Criteria对象传入一个持久化类对象类型

Criteria   criteria=session.createCriteria  (Users.class);

//添加查询条件 Restrictions.eq是等于的意思,2个参数,第一个为持久化类的属性,第2个为比较的参数值

criteria.add(Restrictions.eq("name", "12"));

//查询使用list方法

user=criteria.list();

for (Users users : user) {

System.out.println(users.getName()+"  >>>"+users.getTelephone());

}

HibernateUtil.tx.commit();

}

多个查询条件或者条件 or

criteria.add(Restrictions.or(Restrictions.eq("age", 23), Restrictions.like("username", "%李%")));

        //或者以下写法直接使用SQL语句

        criteria.add(Restrictions.sqlRestriction("age=20 or username like '%李%'"));

 对结果进行排序

使用Order关键字,进行排序

criteria.addOrder(O­rder.desc(属性名称));降序

criteria.addOrder(Order.asc(属性名称));升序

继续阅读