亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 用 javabean 來(lái)實(shí)現(xiàn) mysql 的分頁(yè)顯示.txt

?? java學(xué)習(xí)文檔
?? TXT
字號(hào):
作者:jeru
email: jeru@163.net
日期:2001-1-4 17:13:10
用 javabean 來(lái)實(shí)現(xiàn) MySQL 的分頁(yè)顯示

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

今天寫了個(gè) MySQL 分頁(yè)的 javabean,是用 MySQL 里的 LIMIT 來(lái)實(shí)現(xiàn)的.
sql = "SELECT * FROM Test LIMIT 5, 10";
這句話的意思就是從第五條記錄開始往下讀 10 條記錄出來(lái),這個(gè) bean 沒有連接數(shù)據(jù)庫(kù)的功能,
你可以使用自己的類來(lái)鏈接數(shù)據(jù)庫(kù),當(dāng)然可以用我那個(gè)寫的很爛的 dbClass.java 來(lái)連,^_^

這里給出三個(gè)程序的源代碼。
dbClass.java -- 用來(lái)連接 MySQL 數(shù)據(jù)庫(kù)。

PageQuery.java -- 重寫了 dbClass 返回的 ResultSet,使其具備分頁(yè)功能。

example.jsp -- jsp 文件,可以看到,我只用了兩行就實(shí)現(xiàn)了分頁(yè)的功能,當(dāng)然,
sql 語(yǔ)句是不鼓勵(lì)直接寫在 jsp 里的,這里為了讓大家看清楚,所以這么做了。

自知水平不高,只想拋磚引玉,有什么錯(cuò)漏之處還望高手指出。

=========================== 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";   // 注意這個(gè)" FROM "一定要大寫     	
ResultSet rs = pq.myQuery(query, request);
String bar = pq.PageLegend();  //讀取分頁(yè)提示欄

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>
<% } %>
</table>
</body>
</html>

=========================== PageQuery.java ===================================
package dbclass;
/**
 * PageQuery v 1.0 
 * 這個(gè)類原名叫 TViewPage ,作者 sharetop ,用 php 寫的。
 * 同事 Macro 曾用 PHP 改寫過這個(gè)類,添加了不少功能。
 * 我感覺封裝的很好,使用十分方便,使用 JSP 后,便有了
 * 想法用 JSP 來(lái)改寫,這次為了簡(jiǎn)明起見,我省去了很多功能,
 * 盡量讓它好讀,以后有空添加更多的功能,
 *
 * Mender : 
 *	 Jeru Liu
 * Homepage : 
 *	 http://www.cyberlabs.com/~jeru/
 * Email: jeru@163.net
 *
 * 本類沒有提供連接數(shù)據(jù)庫(kù)的功能,所以需在外部打開相應(yīng)的數(shù)據(jù)庫(kù)。 
 * 需在外部自定義數(shù)據(jù)顯示格式。 
 */

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

public class PageQuery  {   
  
  int Offset; // 記錄偏移量 
  int Total; // 記錄總數(shù) 
  
  int MaxLine; // 記錄每頁(yè)顯示記錄數(shù) 
  ResultSet rs; // 讀出的結(jié)果 

  int TPages; // 總頁(yè)數(shù) 
  int CPages; // 當(dāng)前頁(yè)數(shù) 

  String PageQuery; // 分頁(yè)顯示要傳遞的參數(shù)
  String Query;     // query 語(yǔ)句
  String QueryPart; // " FROM " 以后的 query 部分 
  
  String FilePath;
  
  dbClass db;	// object of dbclass
  
  //constructer do nothing
  public PageQuery() {
    // 每頁(yè)顯示十行
	MaxLine = 10;	
	db = new dbClass();	
  }  
  
  //********讀取記錄*************** 
  // 主要工作函數(shù),根據(jù)所給的條件從表中讀取相應(yīng)的記錄   

  public ResultSet myQuery(String query, HttpServletRequest req) throws SQLException { 
	
	String query_part, os;
	int begin, offset;
	
	// 截取 " FROM " 以后的 query 語(yǔ)句
	begin = query.indexOf(" FROM ");
	query_part = query.substring(begin, query.length()).trim();	
		
    // 計(jì)算偏移量
	os = req.getParameter("offset");
    if (os == null) Offset = 0;
	else Offset = Integer.parseInt(os);
	
	// 獲取文件名
    FilePath = req.getRequestURI(); 
	
	Query = query;
	QueryPart = query_part;	
	
	// 計(jì)算總的記錄條數(shù)
	String SQL = "SELECT Count(*) AS total " + this.QueryPart; 
    rs = db.executeQuery(SQL);	
	if (rs.next()) 
	Total = rs.getInt(1); 	

	// 設(shè)置當(dāng)前頁(yè)數(shù)和總頁(yè)數(shù)
	TPages = (int)Math.ceil((double)this.Total/this.MaxLine); 
    CPages = (int)Math.floor((double)Offset/this.MaxLine+1); 

	// 根據(jù)條件判斷,取出所需記錄
	if (Total > 0) { 
	  SQL = Query + " LIMIT " + Offset + " , " + MaxLine; 
	  rs = db.executeQuery(SQL); 	  
	}	
	return rs; 
  }  
 
  // 顯示總頁(yè)數(shù)
  public int getTotalPages() {	
	return TPages;
  }

  //顯示當(dāng)前所在頁(yè)數(shù)
  public int getCurrenPages() {      	
	return CPages;
  } 

  //**********顯示翻頁(yè)提示欄*************  
  // 顯示首頁(yè)、下頁(yè)、上頁(yè)、尾頁(yè)
  // 你可以改成你喜歡的樣式
  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 + ">首頁(yè)</A> "; 
	else str += " 首頁(yè) ";
	if(prev >= 0) 
	  str +=  " <A href=" + FilePath + "?offset=" + prev + ">前頁(yè)</A> "; 
	else str += " 前頁(yè) ";
	if(next < Total) 
	  str +=  " <A href=" + FilePath + "?offset=" + next + ">后頁(yè)</A> "; 
	else str += " 后頁(yè) ";
	if(TPages != 0 && CPages < TPages) 
	  str +=  " <A href=" + FilePath + "?offset=" + last + ">尾頁(yè)</A>"; 
	else str += " 尾頁(yè) ";

	str += " 頁(yè)次:" + getCurrenPages() + "/" + getTotalPages() + "頁(yè) ";
	str += MaxLine + "條/頁(yè) " + "共" + 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;
  }

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品v| 欧美一区二区三区在线观看| 国产喷白浆一区二区三区| 国产一二精品视频| 国产精品日韩精品欧美在线| 99re成人在线| 亚洲成人av在线电影| 日韩女优电影在线观看| 国产精品一区二区三区四区 | 日本视频中文字幕一区二区三区| 日韩亚洲欧美在线观看| 国产不卡一区视频| 亚洲一区二区三区影院| 日韩欧美中文一区二区| 不卡一区在线观看| 亚洲午夜三级在线| 精品av久久707| 色婷婷香蕉在线一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久九九影视网| 欧美性生交片4| 精品一区在线看| 亚洲色图另类专区| 精品日韩一区二区三区免费视频| 91视频免费播放| 美女网站视频久久| 亚洲久草在线视频| 2023国产精品| 欧美日韩国产天堂| 国产成人av一区二区| 五月天国产精品| 欧美国产精品一区| 日韩欧美国产综合一区| 一本到三区不卡视频| 久色婷婷小香蕉久久| 一区二区三区在线免费| 国产校园另类小说区| 欧美日本一区二区三区| 91小宝寻花一区二区三区| 国内精品伊人久久久久av一坑 | 中文字幕欧美日韩一区| 69堂精品视频| 色欧美片视频在线观看| 国产a级毛片一区| 日本欧美在线看| 亚洲狼人国产精品| 中文字幕 久热精品 视频在线| 91精品国产aⅴ一区二区| 色婷婷av一区二区三区大白胸| 国产精品一卡二卡| 蓝色福利精品导航| 日韩中文字幕亚洲一区二区va在线| 中文字幕在线视频一区| 久久久久久久久久久久久女国产乱 | 欧美在线免费视屏| 99久久免费国产| 国产精品亚洲一区二区三区妖精| 免费xxxx性欧美18vr| 亚洲国产精品久久一线不卡| 亚洲精品免费在线播放| 中文字幕在线观看不卡视频| 日本一区二区三级电影在线观看| 精品久久久久99| 欧美va在线播放| 日韩欧美专区在线| 欧美成人性战久久| 欧美成人精品福利| 日韩欧美电影在线| 日韩美女视频一区二区在线观看| 欧美一区欧美二区| 日韩欧美第一区| 26uuu国产电影一区二区| 欧美mv日韩mv国产| 久久久久国产精品麻豆ai换脸| 精品盗摄一区二区三区| 精品国产乱码久久久久久夜甘婷婷| 日韩欧美自拍偷拍| 欧美成人乱码一区二区三区| 久久亚洲二区三区| 国产精品无遮挡| 1024成人网| 亚洲综合在线免费观看| 亚洲午夜精品网| 蜜臀av一区二区三区| 激情欧美一区二区三区在线观看| 国产精品18久久久久久久久久久久 | 色婷婷综合久久久| 精品视频1区2区| 日韩午夜三级在线| 久久久久久一级片| 自拍偷拍国产精品| 亚洲永久精品大片| 美女久久久精品| 国产福利精品一区| 色素色在线综合| 欧美一区二区精品在线| 久久久噜噜噜久久中文字幕色伊伊| 国产日产欧美一区二区视频| 亚洲免费观看高清完整| 日本91福利区| 成人黄页毛片网站| 欧美男生操女生| 久久久久久久久岛国免费| 日韩理论片在线| 日韩在线卡一卡二| 大胆欧美人体老妇| 欧美日韩成人在线| 久久精品视频一区二区| 一区二区三区精品| 狠狠色狠狠色综合系列| 色综合久久66| 欧美电影免费提供在线观看| 国产精品久久久久一区| 视频一区在线播放| 成人激情午夜影院| 欧美一级二级在线观看| 中文字幕在线不卡视频| 久久国内精品自在自线400部| av亚洲精华国产精华精华| 日韩一二三区视频| 亚洲精品国产a| 国产99一区视频免费| 9191国产精品| 1024亚洲合集| 国产精品2024| 91精品国产全国免费观看| 亚洲欧美区自拍先锋| 国产一区二区三区免费看| 欧美私人免费视频| 成人欧美一区二区三区在线播放| 热久久久久久久| 欧美艳星brazzers| 中文字幕亚洲区| 国产在线精品一区在线观看麻豆| 日韩丝袜情趣美女图片| 亚洲精品成人精品456| 国产白丝精品91爽爽久久| 日韩欧美高清一区| 午夜久久久久久电影| 91免费在线看| 国产蜜臀av在线一区二区三区 | 国内外成人在线| 8x8x8国产精品| 亚洲大片在线观看| 色哟哟日韩精品| 亚洲三级在线播放| 丁香六月综合激情| 精品国产伦一区二区三区观看体验| 天天综合天天做天天综合| 欧美写真视频网站| 亚洲卡通欧美制服中文| 99久久综合99久久综合网站| 久久久久9999亚洲精品| 国产麻豆一精品一av一免费| 欧美一级生活片| 奇米精品一区二区三区在线观看| 欧美自拍偷拍一区| 亚洲一区二区三区不卡国产欧美 | 欧美午夜不卡视频| ㊣最新国产の精品bt伙计久久| 蜜臀久久久久久久| 色天使久久综合网天天| 欧美午夜寂寞影院| 亚洲美女免费在线| 97久久超碰国产精品| 久久婷婷国产综合国色天香 | 亚洲激情在线播放| 在线观看国产精品网站| 亚洲综合一区在线| 欧美日韩国产另类不卡| 五月天中文字幕一区二区| 欧美裸体bbwbbwbbw| 日韩黄色一级片| 日韩精品一区二区三区中文精品| 九九热在线视频观看这里只有精品| 日韩欧美高清dvd碟片| 国产精品中文字幕日韩精品| 精品国产露脸精彩对白| 丁香激情综合国产| 亚洲色图另类专区| 欧美人妇做爰xxxⅹ性高电影| 日本欧美在线看| 国产午夜亚洲精品午夜鲁丝片| 国产福利91精品一区| 亚洲视频在线一区| 欧美精品777| 国产精品乡下勾搭老头1| 一区精品在线播放| 欧美日韩小视频| 国产酒店精品激情| 国产精品女同一区二区三区| 欧美自拍丝袜亚洲| 精品在线播放免费| 亚洲人成小说网站色在线 | 国产精品网站一区| 欧美性色黄大片手机版| 精品影院一区二区久久久| 亚洲欧美中日韩| 91精品婷婷国产综合久久竹菊| 国产成人av电影在线播放|