Java分页

1.网站中常见的分页样式

1)采用传统的分页方式,可以明确获得数据信息,如有多少数据,显示多少页等

2)采用下拉式的分页方式,一般无法获取明确的数据数量相关的信息,但是在分页操作之后,仍然可以看到之前查询的数据。

2.常见的分页方式

1)使用List接口中的subList(int startIndex,int endIndex)方法实现分页

List<E> subList(int fromIndex, int toIndex)
          返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。

2)直接使用数据库的sql语句进行分页的实现

利用数据库自带的分页语法,使用分页语句,获得分页数据,如mysql使用limit,oracle使用rownum关键字等

Mysql查询语句:

select * from t_teacher limit 0,10

表示从t_student这张表的第0个记录开始查找10条记录。

PostgreSQL查询语句:

select * from t_teacher limit 10 offset 0

Oracle查询语句:

select * from 

(

select s.*,rownum rn 

from(select * from t_teacher)s

where rownum <= 10

)

where rn>=1

3)使用hibernate等框架技术直接实现跨数据库的分页

创建Query或者Criteria对象,查询时设置firstResult和maxResults属性

firstResult表示从第几条开始查询,maxResults表示查询多少条的数据

String hql = "from Student";

Query q = session.createQuery(hql);

q.setFirstResult(0);

q.setMaxResults(10);

List l = q.list();

3.常见的分页方式的实现比较

实现方式 优点 缺点 适用场景
subList 简单易用 效率低 无法按需批量获取数据
SQL语句 简单,直接,效率高 数据库兼容性差 不要求数据库兼容性
hibernate框架 面向对象,兼容性强 复杂查询性能低 兼容不同的数据库

你可能感兴趣的:(分页)