SELECT * FROM table_name limit num1, [num2]
num1表示从num1开始获取的数据行标识。
num2表示一共取多少行数据。
用limit实现分页会容易一些,而且效率也还不错。
// 每一页多少条数据
int pageRows = 20;
// 一共多少条数据
int totalRows = 0;
// 总页数
int totalPages = 0;
rs = ps.executeQuery();
// 获取多少个用户
while(rs.next()){
totalRows = rs.getInt(1);
}
// 计算总页数
if(totalRows % pageRows == 0){
totalPages = totalRows / pageRows;
}else{
totalPages = totalRows / pageRows + 1;
}
hs.setAttribute("status", "ok");
// 输出页码到HTML
pw.println("
// 输出表头
pw.println("UserIdUserNamePasswordEmailTelephonePriority");
String sql = "SELECT UserId, UserName, Password, Priority, Email, Tel FROM customer LIMIT " +
pageNow * pageRows + "," + pageRows;
ps = con.prepareStatement(sql);
System.out.println(sql);
rs = ps.executeQuery();
while(rs.next()){
pw.println("
");pw.println("
" + rs.getInt("UserId") + "");pw.println("
" + rs.getString("UserName") + "");pw.println("
" + rs.getString("Password") + "");pw.println("
" + rs.getString("Email") + "");pw.println("
" + rs.getString("Tel") + "");pw.println("
" + rs.getInt("Priority") + "");pw.println("
");}
pw.println("
");
// 首页
pw.println("首页");
// 上一页
pw.println(" 0 ? (pageNow - 1) : pageNow) + ">上一页");
// 输出导航页码
for(int i = pageNow + 1; i <= pageNow + 9 && i > 0 && i < totalPages + 1; ++i){
pw.println("" + i +"");
}
// 下一页
pw.println("下一页");
// 尾页
pw.println("尾页
");
分享到:
2012-05-22 23:58
浏览 530
分类:数据库
评论