您的位置:jsp学习站首页 >> 数据库 >> MYSQL >> 用javabean来实现MySQL的分页显示

用javabean来实现MySQL的分页显示 (1)

[ 来源:互网络 | 更新日期:2007-09-25 14:38:59 | 浏览次数:7955]
简介:sql = "SELECT * FROM Test LIMIT 5, 10";这句话的意思就是从第五条记录开始往下读 10 条记录出来,这个 bean 没有连接数据库的功能,你可以使用自己的类来链接数据库,当然可以用我那个写的很烂的 dbClass
今天写了个 MySQL 分页的 javabean,是用 MySQL 里的 LIMIT 来实现的.
sql = "SELECT * FROM Test LIMIT 5, 10";
这句话的意思就是从第五条记录开始往下读 10 条记录出来,这个 bean 没有连接数据库的功能,
你可以使用自己的类来链接数据库,当然可以用我那个写的很烂的 dbClass.java 来连,^_^

这里给出三个程序的源代码。
dbClass.java -- 用来连接 MySQL 数据库。

PageQuery.java -- 重写了 dbClass 返回的 ResultSet,使其具备分页功能。

example.jsp -- jsp 文件,可以看到,我只用了两行就实现了分页的功能,当然,
sql 语句是不鼓励直接写在 jsp 里的,这里为了让大家看清楚,所以这么做了。

自知水平不高,只想抛砖引玉,有什么错漏之处还望高手指出。

=========================== example.jsp ===================================
<%@ page language="java" import="java.sql.*, dbclass.*" %>
<%@ page contentType="text/html; charset=gb2312" %>





<%

String query = "SELECT * FROM systempass"; // 注意这个" FROM "一定要大写
ResultSet rs = pq.myQuery(query, request);
String bar = pq.PageLegend(); //读取分页提示栏

out.println(""+bar+"");
out.println("
");
while (rs.next()) { %>
<%=rs.getString(9)%> <%=rs.getString(10)%>
<% } %>




=========================== PageQuery.java ===================================
package dbclass;
/**
* PageQuery v 1.0
* 这个类原名叫 TViewPage ,作者 sharetop ,用 php 写的。
* 同事 Macro 曾用 PHP 改写过这个类,添加了不少功能。
* 我感觉封装的很好,使用十分方便,使用 JSP 后,便有了
* 想法用 JSP 来改写,这次为了简明起见,我省去了很多功能,
* 尽量让它好读,以后有空添加更多的功能,
*
* Mender :
* Jeru Liu
* Homepage :
* http://www.cyberlabs.com/~jeru/
* Email: jeru@163.net
*
* 本类没有提供连接数据库的功能,所以需在外部打开相应的数据库。
* 需在外部自定义数据显示格式。
*/

import java.util.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageQuery {

int Offset; // 记录偏移量
int Total; // 记录总数

int MaxLine; // 记录每页显示记录数
ResultSet rs; // 读出的结果

int TPages; // 总页数
int CPages; // 当前页数

String PageQuery; // 分页显示要传递的参数
String Query; // query 语句
String QueryPart; // " FROM " 以后的 query 部分

String FilePath;

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
[1] [2] [3]
Tags:关键字:用javabean来实现MySQL的分页显示
责任编辑:glen