JAVA/JSP學(xué)習(xí)系列之六(MySQL翻頁(yè)例子)
下載了mysql的jdbc驅(qū)動(dòng)(一個(gè)jar文件)并加載在CLASSPATH(方法見《JAVA/JSP學(xué)習(xí)系列之一(JDK安裝) 》)
(如果找不到,請(qǐng)從本站下載)
建一個(gè)MySQL數(shù)據(jù)庫(kù)test
數(shù)據(jù)庫(kù)中有一個(gè)表:note,字段為:name(varchar)
二、下載,安裝
<%@ page contentType="text/html;charset=gb2312" %>
<% java.sql.Connection sqlCon; //數(shù)據(jù)庫(kù)連接對(duì)象
java.sql.Statement sqlStmt; //SQL語句對(duì)象
java.sql.ResultSet sqlRst; //結(jié)果集對(duì)象
java.lang.String strCon; //數(shù)據(jù)庫(kù)連接字符串
java.lang.String strSQL; //SQL語句
int intPageSize; //一頁(yè)顯示的記錄數(shù)
int intRowCount; //記錄總數(shù)
int intPageCount; //總頁(yè)數(shù)
int intPage; //待顯示頁(yè)碼
java.lang.String strPage;
int i;
//設(shè)置一頁(yè)顯示的記錄數(shù)
intPageSize = 2;
//取得待顯示頁(yè)碼
strPage = request.getParameter("page");
if(strPage==null){
//表明在QueryString中沒有page這一個(gè)參數(shù),此時(shí)顯示第一頁(yè)數(shù)據(jù)
intPage = 1;
} else{
//將字符串轉(zhuǎn)換成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//裝載JDBC驅(qū)動(dòng)程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//連接數(shù)據(jù)庫(kù)
sqlCon= java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test");
//創(chuàng)建語句對(duì)象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //執(zhí)行SQL語句
strSQL = "select name from note";
//執(zhí)行SQL語句并獲取結(jié)果集
sqlRst = sqlStmt.executeQuery(strSQL);
//獲取記錄總數(shù)
sqlRst.last();
intRowCount = sqlRst.getRow();
//記算總頁(yè)數(shù)
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//調(diào)整待顯示的頁(yè)碼
if(intPage>intPageCount) intPage = intPageCount;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP數(shù)據(jù)庫(kù)操作例程 - 數(shù)據(jù)分頁(yè)顯示 - JDBC 2.0 - mysql</title>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>姓名</th>
</tr>
<% if(intPageCount>0)
{
//將記錄指針定位到待顯示頁(yè)的第一條記錄上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//顯示數(shù)據(jù)
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){ %>
<tr>
<td>
<%=sqlRst.getString(1)%>
</td>
</tr>
<% sqlRst.next();
i++;
}
}
%>
</table>
第<%=intPage%>頁(yè) 共<%=intPageCount%>頁(yè)
<%if(intPage<intPageCount){%><a href="mysqlpage.jsp?page=<%=intPage+1%>">下一頁(yè)</a><%}%>
<%if(intPage>1){%><a href="mysqlpage.jsp?page=<%=intPage-1%>">上一頁(yè)</a><%}%>
</body>
</html>
<%
//關(guān)閉結(jié)果集
sqlRst.close();
//關(guān)閉SQL語句對(duì)象
sqlStmt.close();
//關(guān)閉數(shù)據(jù)庫(kù)
sqlCon.close();
%>
三、怎么去運(yùn)行?
見前文《JAVA/JSP學(xué)習(xí)系列之五(JDBC-ODBC翻頁(yè)例子)》。
相關(guān)文章
jsp中獲取狀態(tài)怎么寫(兩種實(shí)現(xiàn)方式)
由于框架是2005年的,jsp中不能存放標(biāo)簽,只能有java代碼來寫了,接下來為大家介紹下兩種實(shí)現(xiàn)獲取狀態(tài)寫法,感興趣的各位可以參考下哈,希望可以幫助到你2013-04-04jsp 使用jstl實(shí)現(xiàn)翻頁(yè)實(shí)例代碼
這篇文章主要介紹了jsp 使用jstl實(shí)現(xiàn)翻頁(yè)實(shí)例代碼,有需要的朋友可以參考一下2013-12-12頁(yè)面自動(dòng)刷新,不用按回車鍵來提交數(shù)據(jù)!
頁(yè)面自動(dòng)刷新,不用按回車鍵來提交數(shù)據(jù)!...2006-10-10jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲
這篇文章主要為大家詳細(xì)介紹了jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題
這篇文章主要介紹了jsp中通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題的方法,需要的朋友可以參考下2014-08-08JSP 開發(fā)之THE SERVLET NAME ALREADY EXISTS.解決方法
這篇文章主要介紹了JSP 開發(fā)之THE SERVLET NAME ALREADY EXISTS.解決方法的相關(guān)資料,希望通過本文大家能解決這樣的問題,需要的朋友可以參考下2017-09-09詳解velocity模板使javaWeb的html+js實(shí)現(xiàn)模塊化
這篇文章主要介紹了詳解velocity模板使javaWeb的html+js實(shí)現(xiàn)模塊化的相關(guān)資料,需要的朋友可以參考下2017-05-05JSP中c:foreach遍歷和s:iterator遍歷異同實(shí)例分析
這篇文章主要介紹了JSP中c:foreach遍歷和s:iterator遍歷異同,以兩個(gè)完整實(shí)例形式對(duì)比分析了c:foreach遍歷和s:iterator遍歷的具體用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09JAVA POST與GET數(shù)據(jù)傳遞時(shí)中文亂碼問題解決方法
最近亂忙活弄了一個(gè)企業(yè)家宣傳網(wǎng)站遇到了中文字符集亂碼問題,在此分享一下即簡(jiǎn)單又實(shí)用的解決方法,感興趣的朋友可以參考下哈2013-06-06