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 }
时间: 2024-10-27 03:45:16