------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------
本篇博客讲述Hibernate中的分页
hibernate中的分页其实很好写,它通过操作对象的方式,来进行分页查询操作
分页无非就是查俩个:1.总记录数,2.当前页的数据
根据当前页的页码(第几页)和页大小(每页展示几条数据),写出类似mysql的limit语句的前后值
直接放代码,我会把注释标明:
@Test /** * 分页 * * 01.查询总记录数 * 02.每页显示的数据 * 03.总页数 */ public void t1Page(){ String hql="select count(*) from Teacher";//会返回Long类型 int counts=((Long)session.createQuery(hql).uniqueResult()).intValue(); /*页大小*/ int pageSize=2; /*总页数*/ int totalPages=(counts%pageSize==0)?(counts/pageSize):(counts/pageSize+1); /*显示第二页内容*/ int pageIndex=2; hql="from Teacher"; Query query = session.createQuery(hql);; /*从哪一条开始查*/ query.setFirstResult((pageIndex-1)*pageSize); /*设置页大小*/ query.setMaxResults(pageSize); List<Teacher> teachers = query.list(); for (Teacher t:teachers) { System.out.println(t); } }