教育改变生活

标题: Jsp分页技术直接分页的简单方法 [打印本页]

作者: angel2018    时间: 2019-5-6 23:25
标题: Jsp分页技术直接分页的简单方法
web分页
为什么需要分页?
一、数据方面的原因
大量查询的数据耗时比较严重。
二、增强用户使用体验需求
用户更方便的查询和展示他所需要的数据。

常见分页方式:传统分页方式和下拉式分页方式。
采用传统的分页方式,可以明确的获取数据信息,如有多少条数据,分多少页显示。
采用下拉式分页方式,一般无法获取明确的数据数量相关的信息,但是在分页操作以后,仍然可以看到之前查询的数据。

常见的分页实现方式
1.      使用subList()实现分页。
List<E> subList(int fromIndex,int toIndex)
返回列表中指定的fromIndex(包含)和 toIndex (不包括)之间的部分视图。
2.      使用SQL语句实现分页
利用数据库自带的分页语法,使用分页语句,获取分页数据(例如mysql数据库使用limit关键字,oracle中使用rownum关键字等)
Mysql
-         select * from students limit0,10   从第0条开始查,一共查询10条记录。
3.      使用hibernate框架进行分页。
创建Query或者Criteria对象,查询时,设置firstResult(从第几条开始查)和maxResults(查询几条记录)属性。
String hql = “ from Student”;
Query q = session.createQuery(hql);
q.setFirstResult(0);
q.setMaxResults(10);
List l = q.list();


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


1.      使用sublist实现分页。

创建model层
学生对象 Student类
分页对象 Pager类数据库工具类 JdbcUtil.java数据库配置文件jdbc.username=rootjdbc.password=limengjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc\:mysql\://127.0.0.1\:3306/pager
创建Dao层,数据操作对象
接口 StudentDao.javaDao层接口实现类 SublistStudentDaoImpl.java创建Service层,调用Dao层创建Servlet,接收参数,调用Service层Jsp页面





欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2