11.Hibernate-QBC查询

Creteria接口是Hibernate提供的一个面向对象的查询条件接口。

一个单独查询就是Criterion接口的一个实例,用于限制Criteria对象的查询,在Hibernate中Criterion对象的创建通常是Restrictions工厂类完成的,HQL(Hibernate Query Language) 和 Criteria   都是面向对象的查询,只不过Criteria更面向对象,Criteria和Restrictions这个类连用来实现条件查询

@Test
	public void testFindAll() {
		Configuration config=new  Configuration().configure();
		SessionFactory sessionFactory=config.buildSessionFactory();
		//1.得到一个Session
		Session session=sessionFactory.openSession();
		Transaction transaction=session.beginTransaction();
		//2.通过Session对象获得Criteria
	    Criteria criteria=session.createCriteria(UserTest1.class);
		//3.使用Restrictions的eq方法设定查询条件为name="李白"
	   SimpleExpression retrictions= Restrictions.eq("name", "李白");
	   //4.向criteria添加查询条件
	   criteria.add(retrictions);
		List<UserTest1> list=criteria.list();
		
		for(UserTest1 u:list) {
			System.out.println(u.getId()+u.getName()+u.getAge()+u.getGender());
			
		}
		transaction.commit();
		session.close();
		sessionFactory.close();
		
	}

Criteria常用查询方法

1.Criteria add(Criteria criterion)    用于设置查询条件,参数为Criterion对象

	//3.使用Restrictions的eq方法设定查询条件为name="李白"
	   SimpleExpression retrictions= Restrictions.eq("name", "李红");
	   //4.向criteria添加查询条件
	   criteria.add(retrictions);

2.Criteria addOrder(Order order)   用于设置结果集的排列规则,其参数为一个Order对象实例

desc是降序,asc是升序

criteria.addOrder(Order.desc("name")).addOrder(Order.desc("id"));

3.Criteria creatCriteria(String associationPath)  用于创建一个新的Criteria,这个方法用于执行符合查询时设置查询条件。

4.List list   用于执行数据库查询,返回查询结果

List<UserTest1> list=criteria.list();

4.Criteria setFirstResult(int firstResult)       设置获取第一个记录的位置,这个位置从0开始

  criteria.setFirstResult(3);

5.Object uniqueResult()   这个方法用于得到唯一结果对象实例。在确保最多只有一个实例时可以使用

criteria.uniqueResult();

猜你喜欢

转载自blog.csdn.net/cainame/article/details/81277238
今日推荐