在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用 javabean 來完成 MySQL 的分頁顯示

用 javabean 來完成 MySQL 的分頁顯示

更新時間:2022-05-03 文章作者:未知 信息來源:網絡 閱讀次數:

用 javabean 來實現 MySQL 的分頁顯示

●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○作者:劉湛日期:2000-02-04jeru@163.net●
●http://www.cyberlabs.com/~jeru/ ○
○歡迎訪問爪哇人,獲取更多資料●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○

今天寫了個 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" %>
<jsp:useBean id="pq" scope="page" class="dbclass.PageQuery" />
<html>

<body bgcolor="#8BA9C9">
<table bgcolor="#fecda9" cellspacing=0>
<%

String query = "SELECT * FROM systempass"; // 注意這個" FROM "一定要大寫 
ResultSet rs = pq.myQuery(query, request);
String bar = pq.PageLegend();//讀取分頁提示欄

out.println("<tr><td colspan=2>"+bar+"</td></tr>");
out.println("<tr><td colspan=2><hr size=1 color=blue></td></tr>");
while (rs.next()){ %>
<tr><td><%=rs.getString(9)%></td><td><%=rs.getString(10)%></td></tr>
<% } %>

</body>
</html>

=========================== 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 = query.substring(begin, query.length()).trim();

// 計算偏移量
os = req.getParameter("offset");
if (os == null) Offset = 0;
else Offset = Integer.parseInt(os);

// 獲取文件名
FilePath = req.getRequestURI();

Query = query;
QueryPart = query_part;

// 計算總的記錄條數
String SQL = "SELECT Count(*) AS total " + this.QueryPart;
rs = db.executeQuery(SQL);
if (rs.next())
Total = rs.getInt(1); 

// 設置當前頁數和總頁數
TPages = (int)Math.ceil((double)this.Total/this.MaxLine);
CPages = (int)Math.floor((double)Offset/this.MaxLine+1);

// 根據條件判斷,取出所需記錄
if (Total > 0) {
SQL = Query + " LIMIT " + Offset + " , " + MaxLine;
rs = db.executeQuery(SQL); 
}
return rs;
}

// 顯示總頁數
public int getTotalPages() {
return TPages;
}

//顯示當前所在頁數
public int getCurrenPages() {
return CPages;
}

//**********顯示翻頁提示欄*************
// 顯示首頁、下頁、上頁、尾頁
// 你可以改成你喜歡的樣式
public String PageLegend() {

String str = "";
int first, next, prev, last;
first = 0;
next = Offset + MaxLine;
prev = Offset - MaxLine;
last = (this.TPages - 1) * MaxLine;

if(Offset >= MaxLine)
str +=" <A href=" + FilePath + "?offset=" + first + ">首頁</A> ";
else str += " 首頁 ";
if(prev >= 0)
str +=" <A href=" + FilePath + "?offset=" + prev + ">前頁</A> ";
else str += " 前頁 ";
if(next < Total)
str +=" <A href=" + FilePath + "?offset=" + next + ">后頁</A> ";
else str += " 后頁 ";
if(TPages != 0 && CPages < TPages)
str +=" <A href=" + FilePath + "?offset=" + last + ">尾頁</A>";
else str += " 尾頁 ";

str += " 頁次:" + getCurrenPages() + "/" + getTotalPages() + "頁 ";
str += MaxLine + "條/頁 " + "共" + Total + "條";
return str;
}
}

=========================== dbClass.java ===================================
/**
* a class use to connect the MySQL database and do some query
* use mm.MySQL.Drive
* Jeru Liu ,November 2, 2000 , ver - 1.1
*
*/

package dbclass;
import java.sql.*;

public class dbClass{

// public: connection parameters
String dbName = "Kernel";
String Login = "root";
String Password = "MySQL";

String DBDriver = "org.gjt.mm.MySQL.Driver";
String ConnStr = "jdbc:MySQL://localhost/"+dbName+"?user="+Login+";password="+Password;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
ResultSetMetaData resultsMeta =null;
int rows = 0;

// public: constructor to load driver and connect db
public dbClass(){ 
// load mm.MySQL.driver
try

Class.forName("org.gjt.mm.MySQL.Driver"); 
}
// display corresponding error message when onload error occur
catch (java.lang.ClassNotFoundException e)
{
System.out.println("Class not found exception occur. Message is:");
System.out.println(e.getMessage());
}

// establish connection to the database throught driver
try

con = DriverManager.getConnection(ConnStr);
}
// display sql error message
catch (SQLException e)
{
System.out.print("SQL Exception occur. Message is:");
System.out.print(e.getMessage()); 
}

 

// perform a query with records returned
public ResultSet executeQuery(String sql)throws SQLException


ResultSet rs = null;
try
{
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next())
this.rows ++; 
rs = stmt.executeQuery(sql);
}
catch (SQLException e)
{
System.out.print("Query:"+e.getMessage());
}

this.rs = rs;
return rs;
}

// perform a query without records returned
public boolean executeUpdate(String sql)

try
{
stmt = con.createStatement();
stmt.executeUpdate(sql);
return true;
}
catch(SQLException e)
{
System.out.print("Update:"+e.getMessage());
return false;
}
}

// return the num of columns
public int getColumns()
{
 int columns = 0;
 try
 {
this.resultsMeta = this.rs.getMetaData();
columns = this.resultsMeta.getColumnCount();
 }
 catch (SQLException e){}
 return columns;
}

// return the num of rows
public int getRows()
{
 return this.rows;
}

public String getDBName() {
return this.dbName;
}

}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 国产成人无码精品久久久性色| 国产91对白刺激露脸在线观看| 久艹视频在线免费观看| 国产视频一区二区视频| 欧美性大战久久久久xxx| 青青草原播放器| 亚洲爆乳无码专区| 成人av在线不卡| 91丝袜超薄交口足| 日韩欧美理论片| 看欧美ab黄色大片视频免费| 日本一级黄视频| 国内自拍在线观看| 僵尸世界大战2 在线播放| 青青在线视频免费观看| 高清欧美精品xxxxx| 少妇无码av无码专区在线观看| 日本77777| 成年人免费观看的视频| 日本中文字幕一级片| 日韩一级特黄毛片| 蜜臀视频一区二区三区| 7777在线视频| 男女激情无遮挡| 三区视频在线观看| 三上悠亚久久精品| 日本77777| 免费国产黄色网址| 黄大色黄女片18第一次| 日韩精品视频在线观看视频| 黑森林福利视频导航| 国产a级黄色大片| 六月丁香婷婷在线| 亚洲熟妇av一区二区三区| 香蕉视频在线网址| 国产成人手机视频| 丰满少妇久久久| 强伦女教师2:伦理在线观看| 欧美日韩黄色一级片| 色呦色呦色精品| 国产青草视频在线观看| 久久久久久久久久久99| 午夜不卡福利视频| 欧美一级片免费播放| 日本女人高潮视频| 国产欧美精品一二三| 国内国产精品天干天干| 久久精品免费一区二区| 拔插拔插华人永久免费| www.夜夜爽| av视屏在线播放| 91.com在线| 成人精品视频一区二区| 一级做a免费视频| 欧美h视频在线观看| 日本欧美黄色片| 黄色www在线观看| 国产v亚洲v天堂无码久久久 | 国产精品久久久久9999爆乳| 久久久久久免费看| 国产亚洲精品网站| 亚洲国产高清av| 欧美日韩亚洲国产成人| 日本人视频jizz页码69| 97超碰人人澡| 日本xxxxxxx免费视频| 青青青在线视频免费观看| 日韩中文字幕a| 韩日视频在线观看| av动漫免费观看| 日本不卡在线观看视频| 亚洲 激情 在线| 800av在线免费观看| 国产免费成人在线| 亚洲视频一二三四| 在线无限看免费粉色视频| 老司机午夜性大片| 三年中国国语在线播放免费| 欧美大黑帍在线播放| 天堂网成人在线| www.夜夜爽| 欧美一级裸体视频| 日韩视频免费播放| 男同互操gay射视频在线看| 在线观看国产中文字幕| 国产一线二线三线在线观看| 日韩网站在线免费观看| 91动漫在线看| 免费成人午夜视频| 极品粉嫩国产18尤物| 成人免费a级片| 五月天色婷婷综合| 国产免费内射又粗又爽密桃视频| 精品91一区二区三区| 国产成人永久免费视频| 男人靠女人免费视频网站| 中国黄色片一级| 欧美亚洲色图视频| 国产免费人做人爱午夜视频| 九热视频在线观看| 天天av天天操| 久久久久狠狠高潮亚洲精品| 五月婷婷之婷婷| 中文字幕超清在线免费观看| 青青青在线观看视频| 韩国视频一区二区三区| 国产av不卡一区二区| 中文字幕第100页| 色婷婷777777仙踪林| 亚洲怡红院在线| 日韩av一卡二卡三卡| 每日在线更新av| 日本高清视频免费在线观看| 一二三四视频社区在线| 国产精品美女在线播放| 日本xxxx黄色| 50路60路老熟妇啪啪| 少妇高潮大叫好爽喷水| 可以看污的网站| 三级在线免费观看| 能在线观看的av| 激情内射人妻1区2区3区 | 免费在线观看视频a| 亚洲欧美aaa| 亚洲精品www.| 日本成年人网址| 国产原创中文在线观看| 九一精品久久久| 男人的天堂狠狠干| 亚洲制服在线观看| 日韩人妻一区二区三区蜜桃视频| 天天综合五月天| 一区二区三区国产免费| 两根大肉大捧一进一出好爽视频| 欧美视频在线第一页| 九色在线视频观看| 国产乱码一区二区三区四区| av免费网站观看| 超碰成人在线免费观看| av中文字幕网址| 久久久精品在线视频| 午夜免费福利网站| 天天干天天av| 蜜臀一区二区三区精品免费视频 | 国产精品亚洲αv天堂无码| 毛片一区二区三区四区| 欧美日韩在线中文| 手机版av在线| 麻豆中文字幕在线观看| 中文字幕亚洲影院| 日韩中文在线字幕| 污污动漫在线观看| 男人草女人视频| 伊人五月天婷婷| 国产裸体舞一区二区三区| 日韩精品久久一区二区| 成年人视频在线免费| 国产最新免费视频| 中文字幕第22页| 中文字幕免费高| 成人黄色片免费| 国产911在线观看| 免费男同深夜夜行网站| 亚洲欧美天堂在线| 免费无码不卡视频在线观看| 久久综合在线观看| www插插插无码视频网站| 国产免费999| 日本少妇高潮喷水视频| 日韩大片一区二区| 永久免费看av| 日韩精品视频久久| 女人色极品影院| 亚洲精品一二三四五区| 国产97在线 | 亚洲| 日本中文字幕片| 国产av第一区| 国产精欧美一区二区三区白种人| 国产精品视频二| 性欧美18一19内谢| 欧美精品aaaa| 日韩一级性生活片| 手机看片福利日韩| 狠狠躁狠狠躁视频专区| 欧美交换配乱吟粗大25p| 日韩欧美亚洲天堂| 国产又粗又长又爽又黄的视频| 日韩亚洲欧美一区二区| 日日噜噜噜噜久久久精品毛片| 日韩av播放器| 成人性做爰片免费视频| 一起操在线视频| 潘金莲激情呻吟欲求不满视频| 成人综合视频在线| 精品国产一区二区三区在线| 日韩在线视频在线| 91成人在线观看喷潮教学| 四季av一区二区| 国产情侣第一页| 一级一片免费播放|