Java常见分页方式
1. 网站常见分页样式 采用传统的分页方式(邮件列表),可以明确的获取数据信息,如有多少条数据 分多少页显示等 采用下拉式的分页样式(QQ空间),一般无法获取明确的数据数量相关的信息,但是在分页操作之后,任然可以看到之前查询的数据
2. 常见分页方式
使用List接口中的subList(int startIndex,int endIndex)方法实现分页;
直接使用数据库SQL语句实现分页;
使用hibernate等框架实现跨数据库的分页
![](https://images2015.cnblogs.com/blog/1001990/201704/1001990-20170422150107931-2050843013.png)
2.1 使用subList()实现分页
dataList.subList(2,6); //从第3条开始(初始索引为0),取4条记录
2.2 利用SQL进行分页
查询学生表(t_student)的前十条数据
Mysql数据库查询:(详细优化方法见我的另一篇博客http://www.cnblogs.com/zjfjava/p/6697451.html)
select * from t_student limit 0,10;
Oracle数据库查询:
select * from (select s.*,rownum rn from(select * from t_student) s where rownum<=10 ) where rn>=1;
3. 使用hibernate等框架实现跨数据库的分页
使用hibernate框架进行分页步骤:
创建Query或者Criteria对象,查询时,设置firstResult和maxResults属性
String hql="from Student";//创建hql子句 //获取query对象 Query q=session.createQuery(hql); q.setFirstResult(0);//从第一条记录查起 q.setMaxResults(10);/最多返回10条记录 //通过list方法获取查询结果 List<student> students=q.list();
详细的见(非from):http://blog.csdn.net/qq_30641447/article/details/51576923
http://blog.csdn.net/qq_30641447/article/details/51577214