Hibernate第05课:Query接口操作

Query接口主要实现使用HQL或SQL语句查询数据列表.

	public void testByQuery() {
		Session session = null;
		Transaction ts = null;
		try {
			session = HibernateUtils.getSession();
			ts = HibernateUtils.getTransaction(session);
			
			// 创建一个Query,这个参数就是HQL语言.
			// form User的意思就是查询User这个对象.
			Query query = session.createQuery("form User");
			
			// 获得数据列表.不需要在list中一个个添加数据了.
			List userList = query.list();
			for(Iterator iterator = userList.iterator(); iterator.hasNext();) {
				User user = (User)iterator.next();
				System.out.println(user.getId());
				System.out.println(user.getName());
			}
			ts.commit();
		}catch(Exception e) {
			e.printStackTrace();
			ts.rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}

 

使用Query进行分页显示

	public void testByQuery() {
		Session session = null;
		Transaction ts = null;
		try {
			session = HibernateUtils.getSession();
			ts = HibernateUtils.getTransaction(session);
			
			Query query = session.createQuery("form User");
			// 起始页.
			query.setFirstResult(0);
			// 每页显示多少行.
			query.setMaxResults(2);
			
			List userList = query.list();
			for(Iterator iterator = userList.iterator(); iterator.hasNext();) {
				User user = (User)iterator.next();
				System.out.println(user.getId());
				System.out.println(user.getName());
			}
			ts.commit();
		}catch(Exception e) {
			e.printStackTrace();
			ts.rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}

 执行后就会显示数据表中的最前面两条数据.

你可能感兴趣的:(sql,Hibernate)