//应该在sql语句加limit,根据分页的条件来获取对应数据,再填充进去
1. 对于一些数据库而言,有自己的分页方法。比如MySql使用limit子句实现分页,而Oracle使用rownum来限制结果集的大小和位置。
2. 分页的两个侧路:一种是将全部的内容查询出来再分页(查完再分);一种是根据页要显示的内容去查询(用多少查多少)。其实两种分页方法从字面上很容易理解的,但是具体使用的时候就是查完再分大多用在查询比较复杂的实例上。而用多少查多少是用在结果集很大,而且分页麻烦的实例上。(我在这里说的都针对查完再分。)
分页的规则(公式)
如果有32条记录,每页显示5条;
页数= (
——记录条数%每页条数==0 页数为记录条数/每页条数;
——否则 页数为记录条数/每页条数+1;
)很容易理解吧。
那么第N页所要显示的数据是那个范围呢(记录一般从0开始计算)?
——(N-1)*每页条数<=序号<N*每页条数。如上面的例子 第二页是从(2-1)*5<=序号<2*5;
这个原则是针对查完再分的方法写的。如果是用多少查多少的话就需要有另一个方法来做。
稍微提一下:就是将大的集合传入到一个小的集合。在需要显示的界面上传入小的集合就可。
如果有过GUI编程经验的人应该知道,JTable是一个二维数组,所以针对二维数组的分页方法在数据存储的实现上比struts麻烦,因为从数据库中查询到的结果集不管是ResultSet集合还是List集合,都是一个线性的一维数组(可以这么理解)