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 Administrator21 ?*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为 453 ????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 }
Hibernate- Criteria ??简易
原文地址:http://www.cnblogs.com/the-wang/p/7567431.html