分页方式的两种方式

目前主要的分页方式主要分为两种方式:
1:逻辑分页
使用Java的ResultSet结果集来滚动数据实现数据分页。
具体步骤:
1)根据条件SQL查询数据库
2)得到ResultSet结果集,由于ResultSet带有游标,因此可以使用其的next()方法指向下一条记录
3)利用next()来实现分页所需的结果集

2:物理分页

逻辑分页第一种方式:
主要的实现方法体:
Public List pageList(int currentPage, int showRows)
{
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
ArrayList alist = new ArrayList();
Try
{
Con = this.getConnection();
Ps = con.prepareStatement(SQL);
Rs = ps.excuteQuery();
Int skipBegin = (currentPage - 1)*showRows;
Int skipEnd = currentPage*showRows;
Int currentNum = 0;
While(rs.next())
{
If(currentNum >= skipBegin && currentNum < skipEnd)
{
Alist.add(保存结果);
If(currentNum == skipend - 1)
{
Break;
}
currentNum++;
}
}
Return alist;
}
}

逻辑分页第二种方式:使用absolute()方法,实现第二中方式。但是这里又一个问题是不是大多数的数据库都支持absolute()。
主要实现方法:
Public List pageList(int currentPage, int showRows)
{
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
ArrayList alist = new ArrayList();
Try
{
Con = this.getConnection();
Ps = con.prepareStatement(SQL);
Rs = ps.excuteQuery();
Int skipBegin = (currentPage - 1)*showRows;
Int skipEnd = currentPage*showRows;
// 使用absolute()进行定位
If (!rs.absolute(skipBegin) )
{
Return alist;
}
While(rs.next())
{
If(skipBegin < skipEnd)
{
Alist.add(保存结果);
If(skipBegin == skipend - 1)
{
Break;
}
skipBegin ++;
}
}
Return alist;
}
}

还没有写完!待续...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值