JAVA/JSP学习系列之六(MySQL翻页例子)

一、运行前准备

下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSPATH(方法见《JAVA/JSP学习系列之一(JDK安装) 》)

(如果找不到,请从本站下载)

建一个MySQL数据库test

数据库中有一个表:note,字段为:name(varchar)

二、下载,安装

1@ page contentType="text/html;charset=gb2312" 
 1 java.sql.Connection sqlCon; //数据库连接对象   
 2  
 3java.sql.Statement sqlStmt; //SQL语句对象   
 4  
 5java.sql.ResultSet sqlRst; //结果集对象   
 6  
 7java.lang.String strCon; //数据库连接字符串   
 8  
 9java.lang.String strSQL; //SQL语句   
10  
11int intPageSize; //一页显示的记录数   
12  
13int intRowCount; //记录总数   
14  
15int intPageCount; //总页数   
16  
17int intPage; //待显示页码   
18  
19java.lang.String strPage;   
20  
21int i;   
22  
23//设置一页显示的记录数   
24  
25intPageSize = 2;   
26  
27//取得待显示页码   
28  
29strPage = request.getParameter("page");   
30  
31if(strPage==null){   
32  
33//表明在QueryString中没有page这一个参数,此时显示第一页数据   
34  
35intPage = 1;   
36  
37} else{   
38  
39//将字符串转换成整型   
40  
41intPage = java.lang.Integer.parseInt(strPage);   
42  
43if(intPage<1) intPage = 1;   
44  
45}   
46  
47//装载JDBC驱动程序   
48  
49Class.forName("org.gjt.mm.mysql.Driver").newInstance();   
50  
51//连接数据库   
52  
53sqlCon= java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test");   
54  
55//创建语句对象   
56  
57sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //执行SQL语句   
58  
59strSQL = "select name from note";   
60  
61//执行SQL语句并获取结果集   
62  
63sqlRst = sqlStmt.executeQuery(strSQL);   
64  
65//获取记录总数   
66  
67sqlRst.last();   
68  
69intRowCount = sqlRst.getRow();   
70  
71//记算总页数   
72  
73intPageCount = (intRowCount+intPageSize-1) / intPageSize;   
74  
75//调整待显示的页码   
76  
77if(intPage>intPageCount) intPage = intPageCount;   
78  
 1<html>
 2<head>
 3<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 4<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - mysql</title>
 5</head>
 6<body>
 7<table border="1" cellpadding="0" cellspacing="0">
 8<tr>
 9<th>姓名</th>
10</tr>   
11  

if(intPageCount&gt;0)

{

//将记录指针定位到待显示页的第一条记录上

sqlRst.absolute((intPage-1) * intPageSize + 1);

//显示数据

i = 0;

while(i<intpagesize !sqlrst.isafterlast()){="" &&="" <tr="" ```="">

1=sqlRst.getString(1)
1 sqlRst.next();   
2  
3i++;   
4  
5}   
6  
7}   
8  

=intPage页 共``` =intPageCount

1  

if(intPage<intpagecount){ <a="" href="mysqlpage.jsp?page= =intPage+1 ">下一页 }

1  

if(intPage&gt;1){ <a href="mysqlpage.jsp?page= =intPage-1 ">上一页</a> }

1  
2</intpagecount){></body>
3</html>
 1   
 2  
 3//关闭结果集   
 4  
 5sqlRst.close();   
 6  
 7//关闭SQL语句对象   
 8  
 9sqlStmt.close();   
10  
11//关闭数据库   
12  
13sqlCon.close();   
14  

三、怎么去运行?

见前文《JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)》。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus