mysql bean分页查询_用javabean来实现MySQL的分页显示(2)

dbClass db;    // object of dbclass

//constructer do nothing

public PageQuery() {

// 每页显示十行

MaxLine = 10;

db = new dbClass();

}

//********读取记录***************

// 主要工作函数,根据所给的条件从表中读取相应的记录

public ResultSet myQuery(String query, HttpServletRequest req) throws SQLException {

String query_part, os;

int begin, offset;

// 截取 " FROM " 以后的 query 语句

begin = query.indexOf(" FROM ");

query_part = query.substring(begin, query.length()).trim();

// 计算偏移量

os = req.getParameter("offset");

if (os == null) Offset = 0;

else Offset = Integer.parseInt(os);

// 获取文件名

FilePath = req.getRequestURI();

Query = query;

QueryPart = query_part;

// 计算总的记录条数

String SQL = "SELECT Count(*) AS total " + this.QueryPart;

rs = db.executeQuery(SQL);

if (rs.next())

Total = rs.getInt(1);

// 设置当前页数和总页数

TPages = (int)Math.ceil((double)this.Total/this.MaxLine);

CPages = (int)Math.floor((double)Offset/this.MaxLine+1);

// 根据条件判断,取出所需记录

if (Total > 0) {

SQL = Query + " LIMIT " + Offset + " , " + MaxLine;

rs = db.executeQuery(SQL);

}

return rs;

}

// 显示总页数

public int getTotalPages() {

return TPages;

}

//显示当前所在页数

public int getCurrenPages() {

return CPages;

}

//**********显示翻页提示栏*************

// 显示首页、下页、上页、尾页

// 你可以改成你喜欢的样式

public String PageLegend() {

String str = "";

int first, next, prev, last;

first = 0;

next = Offset + MaxLine;

prev = Offset - MaxLine;

last = (this.TPages - 1) * MaxLine;

if(Offset >= MaxLine)

str +=  " 首页 ";

else str += " 首页 ";

if(prev >= 0)

str +=  " 前页 ";

else str += " 前页 ";

if(next < Total)

str +=  " 后页 ";

else str += " 后页 ";

if(TPages != 0 && CPages < TPages)

str +=  "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值