在线看毛片视频-国产免费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>
  • 五月天男人天堂| 国产系列第一页| 国产av不卡一区二区| 噜噜噜久久亚洲精品国产品麻豆| 亚洲污视频在线观看| 男女激情免费视频| 激情在线观看视频| wwwwww.色| 欧美中文字幕在线观看视频 | 大陆av在线播放| 亚洲不卡视频在线| 艳母动漫在线免费观看| 国产成人无码一二三区视频| av中文字幕网址| 国产精品无码免费专区午夜| 国产三级国产精品国产专区50| 精品欧美一区免费观看α√| 免费极品av一视觉盛宴| 天堂v在线视频| 天堂网成人在线| 美女网站视频黄色| 女人另类性混交zo| 波多野结衣天堂| 天美星空大象mv在线观看视频| 国产h视频在线播放| www.com毛片| 簧片在线免费看| 91香蕉国产线在线观看| 一区二区三区四区免费观看| 欧美 亚洲 视频| 成人免费视频91| 国产成人综合一区| 在线视频一二三区| 妺妺窝人体色www看人体| 男的插女的下面视频| 日本国产在线播放| 99爱视频在线| 亚洲天堂2018av| 亚洲第一天堂久久| 男生操女生视频在线观看| 在线观看免费的av| 黄色一级片网址| 天堂а√在线中文在线| 欧美在线观看视频免费| 无码aⅴ精品一区二区三区浪潮| 黄色av免费在线播放| 欧美日韩一区二区在线免费观看| 免费在线观看日韩视频| 亚欧在线免费观看| 日本不卡一区二区在线观看| 香蕉视频999| 久久综合久久网| 大肉大捧一进一出好爽视频| 日韩不卡一二三| 欧美a级免费视频| 九九热在线免费| 天堂av免费看| 韩国一区二区av| 先锋影音男人资源| 男人透女人免费视频| 欧美a级免费视频| 中文字幕第100页| 欧美视频在线观看视频| 午夜视频在线网站| 爱福利视频一区二区| 蜜臀一区二区三区精品免费视频| 黑人巨茎大战欧美白妇| 久久精品免费网站| 久久国产精品视频在线观看| 57pao国产成永久免费视频| 欧美精品一区二区三区三州| 激情图片中文字幕| 欧美日韩大尺度| 成人免费播放器| 国产九九九视频| 无码少妇一区二区三区芒果| 男人天堂网视频| 国产女主播自拍| 亚洲免费黄色网| 人妻精品无码一区二区三区| 性鲍视频在线观看| 成人中文字幕av| 东京热加勒比无码少妇| 成年人深夜视频| 老司机午夜免费福利视频| 中日韩av在线播放| 日本中文字幕高清| 天堂在线资源视频| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 男人天堂成人网| 国产又粗又猛大又黄又爽| 国产精品igao激情视频 | 网站在线你懂的| 日本高清一区二区视频| dy888午夜| 久久久久久久久久久综合| 国产午夜精品视频一区二区三区| 免费的av在线| 黄页免费在线观看视频| 精品少妇一区二区三区在线| 国产白丝袜美女久久久久| 成年人视频在线免费| 一区二区xxx| 想看黄色一级片| 99在线观看视频免费| 国产超级av在线| 黄色手机在线视频| 国产精品999.| 波多野结衣与黑人| 日韩 欧美 高清| 肉色超薄丝袜脚交| 自慰无码一区二区三区| 欧美日韩中文不卡| av在线播放天堂| 污视频免费在线观看网站| 中国一级黄色录像| 日日碰狠狠躁久久躁婷婷| 自拍偷拍视频在线| 日韩欧美xxxx| 青青草精品视频在线| 婷婷免费在线观看| 97超碰在线人人| 91欧美一区二区三区| 欧美啪啪免费视频| 黄瓜视频免费观看在线观看www| 精品欧美一区免费观看α√| 天天色天天干天天色| 性生交免费视频| 国产九色porny| 国产女主播av| 国产精品999.| 手机视频在线观看| 国产精品亚洲a| 久久国产精品网| 黄色小视频大全| 牛夜精品久久久久久久| 久草热视频在线观看| 日韩国产成人无码av毛片| 天天爽人人爽夜夜爽| 99久久国产综合精品五月天喷水| 热这里只有精品| 九九热视频免费| 欧美wwwwwww| 黑森林精品导航| 热久久精品免费视频| 国产日产欧美视频| 免费一级特黄特色毛片久久看| 亚洲精品在线网址| 一级黄色大片儿| 亚洲无在线观看| 99亚洲精品视频| 久久久99精品视频| 51xx午夜影福利| 日韩中文字幕亚洲精品欧美| 在线观看日本www| 国产精品中文久久久久久| 亚欧精品在线视频| 福利在线小视频| 国产成人永久免费视频| 欧洲精品一区二区三区久久| 亚洲美免无码中文字幕在线| 成 年 人 黄 色 大 片大 全| 又粗又黑又大的吊av| 日韩精品一区二区三区久久| 精品久久久久久久无码| 超碰av在线免费观看| 国产女同无遮挡互慰高潮91| 强伦女教师2:伦理在线观看| 99久re热视频精品98| 成人在线国产视频| 粉嫩虎白女毛片人体| 亚洲 欧美 日韩系列| 最新av在线免费观看| 久久久久久久久久久99| 日日碰狠狠丁香久燥| 久久精品一卡二卡| av之家在线观看| 天堂av手机在线| 久久黄色片视频| 中国黄色片免费看| av在线免费观看国产| 精品久久久久久久无码| 一区二区三区四区免费观看| 91视频最新入口| 国产手机视频在线观看| 日韩免费毛片视频| 国产成年人在线观看| 波多野结衣家庭教师在线| xxxx在线免费观看| 300部国产真实乱| 天天干天天玩天天操| 拔插拔插海外华人免费| 亚欧激情乱码久久久久久久久| www成人免费| 天天干天天爽天天射| 青娱乐自拍偷拍| 天堂在线精品视频| 丝袜老师办公室里做好紧好爽| 日本中文字幕在线不卡| 午夜激情福利在线|