jsp与mysql的分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp与mysql的分页相关的知识,希望对你有一定的参考价值。
请给个jsp与mysql的分页代码做参考,要求(1.2.3.4.5……页)当点到第5页前后又只显示2页(3.4.5.6.7)这样的。我在设计分页显示,但找不到好的代码这参考。希望大家能提供些好的代码(最好不要太大的)
谢谢了!
很容易的吗?
-------------------------------------------------
回答者,邹典龙 :真是服了你了,你上升达人排行榜了吗?
<%
//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize = 2;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null)//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
else//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
//装载JDBC驱动程序
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//设置数据库连接字符串
strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb";
//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"hzq","hzq");
//创建一个可以滚动的只读的SQL语句对象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//准备SQL语句
strSQL = "select name,age from test";
//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(strSQL);
//获取记录总数
sqlRst.last();
intRowCount = sqlRst.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<%
if(intPageCount>0)
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast())
%>
<tr>
<td><%=sqlRst.getString(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
sqlRst.next();
i++;
%>
</table>
第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage<intPageCount)%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页</a><%%> <%if(intPage>1)%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%%>
</body>
</html>
<%
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
%>
可以试试先!
祝你好运!
----------------------------------
也可以用jsp+xml+html来实现,下面给出一个saucer(思归)给的xml+html的分页例子,不妨参考一下:
<html>
<body>
<!--the following XML document is "stolen" from MSXML4 documentation-->
<xml id="xmldoc">
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book>
<book id="bk104">
<author>Corets, Eva</author>
<title>Oberon's Legacy</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-03-10</publish_date>
<description>In post-apocalypse England, the mysterious
agent known only as Oberon helps to create a new life
for the inhabitants of London. Sequel to Maeve
Ascendant.</description>
</book>
<book id="bk105">
<author>Corets, Eva</author>
<title>The Sundered Grail</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-09-10</publish_date>
<description>The two daughters of Maeve, half-sisters,
battle one another for control of England. Sequel to
Oberon's Legacy.</description>
</book>
<book id="bk106">
<author>Randall, Cynthia</author>
<title>Lover Birds</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-09-02</publish_date>
<description>When Carla meets Paul at an ornithology
conference, tempers fly as feathers get ruffled.</description>
</book>
<book id="bk107">
<author>Thurman, Paula</author>
<title>Splish Splash</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-11-02</publish_date>
<description>A deep sea diver finds true love twenty
thousand leagues beneath the sea.</description>
</book>
<book id="bk108">
<author>Knorr, Stefan</author>
<title>Creepy Crawlies</title>
<genre>Horror</genre>
<price>4.95</price>
<publish_date>2000-12-06</publish_date>
<description>An anthology of horror stories about roaches,
centipedes, scorpions and other insects.</description>
</book>
</catalog>
</xml>
<table id="mytable" datasrc="#xmldoc" border="1" DATAPAGESIZE="2">
<thead><th>Title</th><th>Author</th><th>Genre</th><th>Publish Date</th><th>Price</th></thead>
<tbody><tr>
<td><span datafld="title"></span></td>
<td><span datafld="author"></span></td>
<td><span datafld="genre"></span></td>
<td><span datafld="publish_date"></span></td>
<td><span datafld="price"></span></td>
</tr>
</tbody>
</table>
<input type="button" value="previous page" onclick="mytable.previousPage()">
<input type="button" value="next page" onclick="mytable.nextPage()">
</body>
</html>
------------------------------------
分页显示的模板程序
<!--show_page.jsp-->
<%@ page import="java.lang.*" import="java.sql.*" import="java.util.*" contentType="text/html;charset=GB2312"%>
<%@ page import="tax.*"%>
<jsp:useBean id="RegisterBean" class="tax.RegisterBean" scope="page"/>
<jsp:useBean id="itemlist" class="tax.itemlist" scope="page"/>
<%
int PageSize = 10;//设置一页显示的记录数
int PageNum = 1; //初始化页码=1
int PageNumCount = (136+PageSize-1) / PageSize;//记算总页数
//计算要显示的页码
String strPageNum = request.getParameter("page");//取得<href>提交的页码
if(strPageNum==null) //表明在QueryString中没有page这一个参数,此时显示第一页数据
PageNum = 1;
else
PageNum = java.lang.Integer.parseInt(strPageNum);//将字符串转换成整型
if(PageNum<1) PageNum = 1;
if(PageNum>PageNumCount) PageNum = PageNumCount;//调整待显示的页码
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP例程 - 数据分页显示 -JDK1.2 </title>
</head>
<body>
<%
if(PageNumCount>0)
out.println(PageNum);//显示数据,此处只简单的显示页数
/*需要显示的数据,在此处显示
、、、
例如:
*/
//显示一个简单的表格
%>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>总数</th>
<th>页数</th>
</tr>
<tr>
<th><%=PageNumCount%></th>
<th><%=PageNum%></th>
</tr>
</table>
第<%=PageNum%>页 共<%=PageNumCount%>页
<%if(PageNum<PageNumCount)%><a href="show_page.jsp?page=<%=PageNum+1%>">下一页</a><%%>
<%if(PageNum>1)%><a href="show_page?page=<%=PageNum-1%>">上一页</a><%%>
</body>
</html>
---------------------------------
一个bean,按照文档说的用。也希望你给出修改意见。
package mshtang.html;
/**
* <p>Title: DataBaseQuery</p>
* <p>Description: 用于数据库翻页查询操作</p>
* <p>Copyright: 厦门一方软件公司版权所有Copyright (c) 2002</p>
* <p>Company: 厦门一方软件公司</p>
* @author 小唐蔡
* @version 1.0
*/
import java.sql.*;
import javax.servlet.http.*;
import java.util.*;
import mshtang.StringAction;
public class DataBaseQuery
private HttpServletRequest request;
private StringAction S;
private String sql;
private String userPara;
private String[][] resultArray;
private String[] columnNameArray;
private String[] columnTypeArray;
private int pageSize;
private int columnCount;
private int currentPageNum;
private int currentPageRecordNum;
private int totalPages;
private int pageStartRecord;
private int totalRecord;
private static boolean initSuccessful;
private String currentJSPPageName;
private String displayMessage;
public DataBaseQuery()
S = new StringAction();
sql = "";
pageSize = 10;
totalRecord = 0;
initSuccessful = false;
currentJSPPageName = "";
displayMessage = "";
columnNameArray = null;
columnTypeArray = null;
currentPageRecordNum = 0;
columnCount = 0;
/**功能:数据库初始化操作,其它操作的前提。
*
* @param conn:数据库连接;
* @param request:jsp页面request对象;
* @param querySQL:查询语句;
* @param pageSize:每页显示记录数;
* @param startPageNum:开始显示页码
*/
public void init(Connection conn, HttpServletRequest request, String querySQL, int pageSize, int startPageNum)
if(conn != null)
this.request = request;
this.sql = request.getParameter("querySQL");
this.userPara = request.getParameter("userPara");
if(sql == null || sql.equals(""))
sql = querySQL;
if(this.userPara == null)
this.userPara = "";
if(S.isContains(sql, "select;from", ";", true))
try
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
columnCount = rsmd.getColumnCount();
columnNameArray = new String[columnCount];
columnTypeArray = new String[columnCount];
String columnName;
String value;
while(rs.next())
totalRecord++;
if(totalRecord == 1)
for(int i = 0; i < columnCount; i++)
columnNameArray[i] = rsmd.getColumnName(i + 1);
columnTypeArray[i] = rsmd.getColumnTypeName(i + 1);
rs.close();
//在总记录数大于0的情况下进行下列操作
//获取链接图象
if(totalRecord > 0 && pageSize > 0 && columnCount > 0 && startPageNum > 0)
//获取总页数
totalPages = totalRecord / pageSize;
int tempNum = totalRecord % pageSize;
if(tempNum != 0)
totalPages++;
//获得当前页页码
String currentPage = request.getParameter("currentPageNum");
currentPageNum = (currentPage == null || currentPage.equals(""))? startPageNum:Integer.parseInt(currentPage);
currentPageNum = (currentPageNum > totalPages)?totalPages:currentPageNum;
currentPageNum = (currentPageNum <= 0)?1:currentPageNum;
//获得当前页起始显示记录数
pageStartRecord = (currentPageNum - 1) * pageSize + 1;
pageStartRecord = (pageStartRecord <= 0)?1:pageStartRecord;
pageStartRecord = (pageStartRecord > totalRecord)?totalRecord:pageStartRecord;
//获得当前页显示记录数
if(currentPageNum * pageSize > totalRecord)
currentPageRecordNum = totalRecord - (currentPageNum - 1) * pageSize;
else
currentPageRecordNum = pageSize;
resultArray = new String[currentPageRecordNum][columnCount];
//用于跳过前面不需显示的记录
int continueRowNum = 0;
//用于跳过后面不再显示的记录
int breakRowNum = 0;
ResultSet rs2 = st.executeQuery(sql);
while(rs2.next())
//跳过前面不需显示的记录
continueRowNum++;
if(continueRowNum < pageStartRecord)
continue;
//存取当前页需显示的记录到二维数组
for(int i = 0; i < columnCount; i++)
value = rs2.getString(columnNameArray[i]);
value = (value == null)?"":value.trim();
resultArray[breakRowNum][i] = value;
//跳过后面不再显示的记录
breakRowNum++;
if(breakRowNum >= currentPageRecordNum)
break;
rs2.close();
st.close();
catch(SQLException e)
e.printStackTrace();
transferSQL(sql);
initSuccessful = true;
/**功能:数据库初始化操作,其它操作的前提,默认每页显示10条记录。
*
* @param conn:数据库连接;
* @param request:jsp页面request对象;
* @param querySQL:查询语句;
* @param startPageNum:开始显示页码
*/
public void init(Connection conn, HttpServletRequest request, String querySQL, int startPageNum)
init(conn, request, querySQL, 10, startPageNum);
/**功能:数据库初始化操作,其它操作的前提,默认从第一页开始显示。
*
* @param conn:数据库连接;
* @param request:jsp页面request对象;
* @param querySQL:查询语句;
* @param pageSize:每页显示记录数;
*/
public void init(Connection conn, HttpServletRequest request, int pageSize, String querySQL)
init(conn, request, querySQL, pageSize, 1);
/**功能:数据库初始化操作,其它操作的前提,默认从第一页开始显示,每页显示10条记录。
*
* @param conn:数据库连接;
* @param request:jsp页面request对象;
* @param querySQL:查询语句;
*/
public void init(Connection conn, HttpServletRequest request, String querySQL)
init(conn, request, querySQL, 10, 1);
/**功能:给出没有初始化的提醒信息,内部调用。
*
*/
private static void getMessage()
if(!initSuccessful)
System.out.println("没有完成初始化");
/**功能:得到查询结果的总记录数。
*
* @return
*/
public int getTotalRecord()
getMessage();
return totalRecord;
/**功能:得到当前页的页码
*
* @return
*/
public int getCurrentPageNum()
getMessage();
return currentPageNum;
/**功能:获得当前页记录数
*
* @return
*/
public int getCurrentPageRecord()
getMessage();
return currentPageRecordNum;
/**功能:获得总页数
*
* @return
*/
public int getTotalPages()
getMessage();
return totalPages;
/**获得调用该javaBean的jsp页面文件名,用于翻页操作,可以免去外界输入页面参数的错误,用于内部调用。
*
* @return:调用该javaBean的jsp页面文件名
*/
private String getCurrentJSPPageName()
getMessage();
if(request != null)
String tempPage = request.getRequestURI();
String[] tempArray = S.stringSplit(tempPage, "/");
if(tempArray != null && tempArray.length > 0)
currentJSPPageName = tempArray[tempArray.length - 1];
return currentJSPPageName;
/**功能:用于显示图片链接或字符串(上一页、下一页等链接)。用于翻页操作,内部调用
*
* @param imageSource:图片来源;
* @param i:翻页信息,1表示第一页,2表示上一页,3表示下一页,4表示尾页,
* @return:显示的链接图片或链接文字
*/
private void displayMessage(String imageSource, int i)
getMessage();
if(imageSource != null && !imageSource.equals(""))
displayMessage = "<img src=\"" + imageSource + "\" border=\"0\">";
else
switch(i)
case 1:
displayMessage = "<font size=\"2\">[首页]</font>";
break;
case 2:
displayMessage = "<font size=\"2\">[上一页]</font>";
break;
case 3:
displayMessage = "<font size=\"2\">[下一页]</font>";
break;
case 4:
displayMessage = "<font size=\"2\">[尾页]</font>";
/**功能:链接到相应页面,内部调用。
*
* @param imageSource:图片来源;
* @param i:翻页信息,1表示第一页,2表示上一页,3表示下一页,4表示尾页,
* @return:相应页面的链接
*/
private String getNavigation(String imageSource, int i)
displayMessage(imageSource, i);
int pageNum = 0;
switch(i)
case 1:
pageNum = 1;
break;
case 2:
pageNum = currentPageNum - 1;
break;
case 3:
pageNum = currentPageNum + 1;
break;
case 4:
pageNum = totalPages;
currentJSPPageName = "<a href=\"" + currentJSPPageName + "?currentPageNum=" + pageNum + "&querySQL=" + sql + userPara + "\">" + displayMessage + "</a>";
if(((currentPageNum == 1 || totalPages == 0) && (i == 1 || i == 2)) || (currentPageNum == totalPages && (i == 3 || i == 4)))
currentJSPPageName = displayMessage;
return currentJSPPageName;
/**功能:翻到第一页。以图片显示。
*
* @param imageSource
* @return
*/
public String firstPage(String imageSource)
return makePages(imageSource, 1);
/**功能:方法重载。翻到第一页,以文字显示。
*
* @return
*/
public String firstPage()
return firstPage("");
/**功能:翻到上一页,以图片显示链接。
*
* @return
*/
public String nextPage(String imageSource)
return makePages(imageSource, 3);
/**功能:方法重载。翻到下一页,以文字显示。
*
* @return
*/
public String nextPage()
return nextPage("");
/**功能:翻到上一页,以图片显示链接。
*
* @return
*/
public String previousPage(String imageSource)
return makePages(imageSource, 2);
/**功能:方法重载。翻到上一页,以文字显示。
*
* @return
*/
public String previousPage()
return previousPage("");
/**功能:方法重载。翻到尾页,以图片显示链接。
*
* @return
*/
public String lastPage(String imageSource)
return makePages(imageSource, 4);
/**功能:方法重载。翻到尾页,以文字显示链接。
*
* @return
*/
public String lastPage()
return lastPage("");
/**功能:得到查询记录中某字段的值。
*
* @param recordIndex:记录索引号,从0开始。
* @param columnName:字段名;
* @return:有结果返回该字段的值,否则为"";
*/
public String getColumnValue(int recordIndex, String columnName)
getMessage();
String columnValue = "";
if(recordIndex >=0 && recordIndex < currentPageRecordNum)
int columnIndex = S.findElementIndexOfArray(columnNameArray, columnName, true);
if(resultArray != null && columnIndex != -1)
columnValue = resultArray[recordIndex][columnIndex];
return columnValue;
/**功能:方法重载。返回特定行特定列的值。
*
* @param recordIndex:行索引,从0开始;
* @param columnIndex:列索引,从1开始;
* @return
*/
public String g 参考技术A 这个特别简单,一次我就弄成了!不用该很多的,你看看,希望可以帮到你!
<%
int intPageSize=3; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage=1; //待显示页码
String strPage;
int i; //设置一页显示的记录数
intPageSize = 3; //取得待显示页码
strPage = request.getParameter("page");
if(strPage==null)//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
else//将字符串转换成整型
intPage = Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
<%
if(intPageCount>0)
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
while(i<intPageSize && !rs.isAfterLast())
%>
<tr>
<td class="text_green STYLE10"><%=rs.getString("biaoti")%></td>
<td class="text_green STYLE10"><div align="center"><%=rs.getDate("fbsj")%></div></td>
<td width="12%" bgcolor="#F1AC09" class="STYLE9"><div align="center"><a href="upadd1.jsp?id=<%=rs.getInt(1)%>" class="STYLE13">编辑</a></div></td>
<td width="12%" bgcolor="#F1AC09" class="STYLE9"><div align="center"><a href="delete.jsp?id=<%=rs.getInt(1)%>">删除</a></div></td>
</tr>
<br>
<br>
<tr>
<td colspan="4"><div align="center" class="text_orange STYLE10">
<%
rs.next();
i++;
%>
第<%=intPage%>页 共<%=intPageCount%>页 <br>
<a href="xxgl2.jsp?page=1">第一页</a>
<%if(intPage>1)%><a href="xxgl2.jsp?page=<%=intPage-1%>">上一页</a><%%>
<%if(intPage<intPageCount)%><a href="xxgl2.jsp?page=<%=intPage+1%>">下一页</a><%%>
<a href="index.jsp?page=<%=intPageCount%>">最后一页</a> 参考技术B 给你个sql你参考下
select top 10 * from tab where id not in(select top 20 id from tab);
就是第三页。
自己写啊 ,很容易的 参考技术C www.open-open.com 搜索分页~ 参考技术D f
oracle与mysql与sqlserver的分页
假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql、Oracle和SQL Server分页查询student表。
1、Mysql的分页查询:
1 SELECT 2 * 3 FROM 4 student 5 LIMIT (PageNo - 1) * PageSize,PageSize;
理解:(Limit n,m) =>从第n行开始取m条记录,n从0开始算。
2、Oracel的分页查询:
1 SELECT 2 * 3 FROM 4 ( 5 SELECT 6 ROWNUM rn ,* 7 FROM 8 student 9 WHERE 10 Rownum <= pageNo * pageSize 11 ) 12 WHERE 13 rn > (pageNo - 1) * pageSize
理解:假设pageNo = 1,pageSize = 10,先从student表取出行号小于等于10的记录,然后再从这些记录取出rn大于0的记录,从而达到分页目的。ROWNUM从1开始。
3、SQL Server分页查询:
1 SELECT 2 TOP PageSize * 3 FROM 4 ( 5 SELECT 6 ROW_NUMBER () OVER (ORDER BY id ASC) RowNumber ,* 7 FROM 8 student 9 ) A 10 WHERE 11 A.RowNumber > (PageNo - 1) * PageSize
理解:假设pageNo = 1,pageSize = 10,先按照student表的id升序排序,rownumber作为行号,然后再取出从第1行开始的10条记录。
分页查询有的数据库可能有几种方式,这里写的可能也不是效率最高的查询方式,但这是我用的最顺手的分页查询,如果有兴趣也可以对其他的分页查询的方式研究一下。
另一篇博文:
1、MySQL用limit分页
/*
* sql:可以是单表的查询语句,也可以是多表的联合查询语句
* firstIndex:其实的索引
* pageSize:每页显示的记录数
*/
select o.* from (sql) o limit firstIndex,pageSize
eg: select * from (select * from Student) limit 0,20; //取1-20条数据
select * from (select * from Student) limit 20,20; //取21-40条数据
第二种 写法
select * from Student where limit (currentPage-1)*pageSize ,pageSize;
2、Oracle用ROWNUM分页
/*
* firstIndex:起始索引
* pageSize:每页显示的数量
* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句
*/
select * from(select a.*,ROWNUM rn from(sql) a where ROWNUM<=(firstIndex+pageSize)) where rn>firstIndex
eg: select * from(select a.*,ROWNUM rn from(select * from Student order by id asc) a where ROWNUM<=20) where rn>0 // 取1-20条数据
select * from(select a.*,ROWNUM rn from(select * from Student order by id asc) a where ROWNUM<=(20+20)) where rn>20 // 取21-40条数据
第二种写法
select * from ( select rownum rn,t.* from Student t where rownum <= currentPage*pageSize ) where rownum > (currentPage -1)*pageSize;
3、SqlServer用top分页
/*
* firstIndex:起始索引
* pageSize:每页显示的数量
* orderColumn:排序的字段名
* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句
*/
select top pageSize o.* from (select row_number() over(order by orderColumn) as rownumber,* from(sql)) as o where rownumber>firstIndex;
eg: select top 20 o.* from (select row_number() over(order by id asc) as rownumber,* from(select * from Student)) as o where rownumber>0; // 取1-20条数据
第二种写法
select top pageSize * from Student where id not in (select top (currentPage-1)*pageSize id from Student) ;
以上是关于jsp与mysql的分页的主要内容,如果未能解决你的问题,请参考以下文章