1 package cn.demo;
2
3 import java.util.List;
4
5 import org.hibernate.Criteria;
6 import org.hibernate.Session;
7 import org.hibernate.Transaction;
8 import org.hibernate.criterion.Restrictions;
9
10 import cn.itcast.domain.Customer;
11 import cn.util.HibernateUtil;
12
13 /**
14 * 使用Criteria 对象查询数据
15 * 1、获得Session对象 开启事务
16 * 2、通过Session获得Criteria对象
17 * 3、使用Restrictions的静态方法创建Criterion类提供了一系列用于设定查询条件的静态方法,这些静态方法都返回Criterion实例,每个Criterion实例代表一个查询条件
18 * 4、向Criteria对象中添加Criterion 查询条件。Criteria的add()方法用于加入查询条件
19 * 5、执行Criteria的 list() 或 uniqueResult() 获得结果
20 * @author Administrator
21 *
22 */
23 public class MyCriteria {
24 public static void main(String[] args) {
25 Session session = HibernateUtil.getCurrentSession();
26 Transaction tx = session.beginTransaction();
27
28
29 // //1、查询所有记录
30 // Criteria criteria = session.createCriteria(Customer.class);
31 // List<Customer> list = criteria.list();
32 // System.out.println(list);
33
34
35 // //2、条件查询
36 // Criteria criteria = session.createCriteria(Customer.class);
37 // criteria.add(Restrictions.eq("cust_name", "小王"));
38 // List<Customer> list = criteria.list();
39 // System.out.println(list);
40
41
42 // //3、条件查询
43 // Criteria criteria = session.createCriteria(Customer.class);
44 // criteria.add(Restrictions.eq("cust_name","小王"));
45 // criteria.add(Restrictions.eq("cust_source", "网络推广"));
46 // List<Customer> list = criteria.list();
47 // System.out.println(list);
48 //
49
50 //4、分页查询
51 Criteria criteria = session.createCriteria(Customer.class);
52 //从第三条开始查询记录数从零开始算起 也就是说 输入 3 输出ID为 4
53 criteria.setFirstResult(3);
54 //查询三条记录
55 criteria.setMaxResults(3);
56 List<Customer> list = criteria.list();
57 System.out.println(list);
58
59
60
61 tx.commit();
62 }
63 }