基于MySQL的分页技术

需求:从数据库查询出来的记录数太多,全都放在一张页面上显示很不美观,观察起来也很不方便,就需要将很多的记录分页显示,通过上一页下一页来显示数据,就像淘宝网查询商品后返回的列表一样,在最下面会有跳转下一页的选项,这种技术一般通过数据库实现

思路:

1,  使用三层架构模式,构建整个工程。

2,  首先分析包结构,本项目会用到domain;utils;dao;service;servlet;init包,其中init包中有独立程序,用于给数据库的表中添加N多条记录。

3,  然后分析用到的技术,用到了c3p0数据源技术,DBUtils技术,mysql驱动jar,BeanUtils,JDBC,

4,  从dao层开始倒序架构,

5,  整个工程中的核心技术:

1),数据库的限制查询 select * from users limit 0,10;

        表示从第0条开始查,查出10条。

2),建立一个Page的JavaBean代表当前页面信息,其中包括查询出的记录列表userList;当前页面号pageNum;总记录数userRecord;总页数totalPageNum;缩略查询的起始页码编号startPage;缩略查询的终止页码编号endPage。在service层获取这些数据,并封装到一个page对象中,返回给servlet层,servlet层将page数据存到request域中,转发给显示页面,显示页面通过el表达式获取数据,并显示,

3),显示页面的实现:通过<c:forEach>标签遍历结果集,输出所有信息;分页处理时,通过在超链接尾部追加参数pageNum来告诉servlet当前是第几页,servlet再通过service,dao访问数据库,获取pageNum的页面信息,

4),跳转到…页的实现:通过js实现,在js中获取文本框的值,并判断其是否符合要求,例如:不可以是数字以外的字符,不可以超出页数边界。通过window.location定向到查询的servlet,并将获取的页数作为参数追加到超链接的尾部。

你可能感兴趣的:(javaee)