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


您的位置:
