Query session.createQuery(String hql)方法;
* hibernate的session.createQuery()方法是使用HQL(hibernate的查询语句)语句查询对象的。
* hql:是查询对象的,例如:"from User",其中from不区分大小写,而User是区分大小写,因为它是对象。是User类
* 返回Query对象。
* 执行这条语句后,Hibernate会根据配置文件中所配置的数据库适配器自动生成相应数据库的SQL语句。如:
Hibernate: select user0_.id as id0_, user0_.name as name0_, user0_.password as password0_, user0_.createTime as createTime0_, user0_.expireTime as expireTime0_ from User user0_
Query的分页查询:
完整代码如下:
public void testQuery1(){
Session session = null; try {
session = HibernateUtils.getSession();
session.beginTransaction(); Query query = session.createQuery("from User"); // 分页查询
query.setFirstResult(0);//从哪一条记录开始查询,是从0开始计算
query.setMaxResults(2);//分页每页显示多少条记录。
/*
* Query对象中有一个list()方式,将所有查询来的对象自动生成list对象返回。
*/
List userList = query.list(); //然后我们就可以显示数据了。
for (Iterator iter = userList.iterator();iter.hasNext();){
User user = (User)iter.next();
System.out.print(user.getId() + " ");
System.out.println(user.getName());
} session.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
HibernateUtils.closeSession(session);
}
}