亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP+MYSQL+Java類優化分頁的實例

2024-09-05 00:20:42
字體:
來源:轉載
供稿:網友

  在jsp中經常要用到查詢數據庫中的數據,同常我們的做法是使用sql語句“select * from tablename order by id desc”,這樣的做法有一個缺點,當數據庫很大的時候查詢的速度會變的很慢,在asp中有一種方法 "select top "&recpage&" * from tablename where id not in (select top "&(recpage*(currentpage-1))&" id from products order by id desc) order by id desc"其中recpage為每頁顯示個數, currentpage為當前頁數.不過在mysql數據庫中沒有“select top * " 語句,而可以代替的語句是”select * from tablename limit position, counter “position 指示從哪里開始查詢,如果是0則是從頭開始,counter 表示查詢的個數,通過jsp+java查詢數據庫,查詢獲取的數據暫時存放在內存中在jsp中通過調取java類,直接從內存中提取數據,速度有了很大提高。

  下面的例子是一個關于網友評論的部分程序,假如你有一個專門供網友瀏覽的網站,而現在又想和網友互動起來,加一個評論是不錯的想法,那么你可以把下面的程序加上,建一個表其中加一個photo_id字段和你的表關聯起來后,就可以讓網友對你的圖片點評了。

  comment.java是一個評論的類

//<--------comment.java ------->
package dbconnection;
public class comment
{
 private string id;
 private string album_id;
 private string title;
 private string content;
 private string modi_time;
 private string user;
 public void setid(string ids)
 {
  this.id=ids;
 }
 public void setalbum_id(string album_ids)
 {
  this.album_id=album_ids;
 }
 public void settitle(string titles)
 {
  this.title=titles;
 }
 public void setcontent(string contents)
 {
  this.content=contents;
 }
 public void setmodi_time(string modi_times)
 {
  this.modi_time=modi_times;
 }
 public void setuser(string users)
 {
  this.user=users;
 }
 public string getid()
 {
  return id;
 }
 public string getalbum_id()
 {
  return album_id;
 }
 public string gettitle()
 {
  return title;
 }
 public string getcontent()
 {
  return content;
 }
 public string getmodi_time()
 {
  return modi_time;
 }
 public string getuser()
 {
  return user;
 }
}

  testsql.java就是我們查詢數據庫要用到的類了,具體的調用請看下面的comment.jsp文件。


|||/**
* title jsp+mysql優化分頁的例子
* @author: cyd
* copyright: copyright (c) 2003
* @version 1.0
* 日期 2004-9-22
*/
//<--------testsql.java ------->
package dbconnection;
import java.sql.*;
import java.util.*;
public class testsql
{
 statement stmt=null;
 resultset rs=null;
 conn c=null;
 comment comments[]=null;
 vector v=null;
 int total;
 int pagesize;
 int pagecount;
 public testsql(connection cn) throws sqlexception
 {
  stmt=cn.createstatement();
 }
 //查詢獲取記錄
 public comment[] getcomment(int pagesize,int page) throws sqlexception
 {
  this.pagesize=pagesize;
  string sql="select * from comment order by id desc limit "+(page-1)*pagesize+","+pagesize;
  comment comments[]=null;
  v=new vector();
  try
  {
   rs=stmt.executequery(sql);
   while(rs.next())
   {
    comment p=new comment();
    p.setid(rs.getstring("id"));
    p.settitle(rs.getstring("title"));
    p.setcontent(rs.getstring("content"));
    p.setmodi_time(rs.getstring("modi_time"));
    p.setuser(rs.getstring("user"));
    v.add(p);
   }
  }
  catch(sqlexception e)
  {
   system.err.println("err");
  }
  comments=new comment[v.size()];
  v.copyinto(comments);
  return comments;
 }
 //獲取總記錄數
 public int gettotal()
 {
  return total;
 }
 //獲取總頁數
 public int getpagecount()
 {
  try
  {
   rs=stmt.executequery("select count(*) from comment ");
   rs.next();
   this.total=rs.getint(1);
   this.pagecount=(rs.getint(1)+pagesize-1)/pagesize;
  }
  catch(sqlexception e)
  {
   system.err.println("err");
  }
  return pagecount;
 }
 //釋放資源
 public void close() throws sqlexception
 {
  if (stmt != null)
  {
   stmt.close();
   stmt = null;
  }
  if (rs!=null)
  {
   rs.close();
   rs=null;
  }
 }
}
<!--comment.jsp -------------------------------------------------------------------->
<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="dbconnection.dbconnectionmanager" %>
<%
 dbconnectionmanager connmgr;//這是數據庫連接池的類,具體源碼你可以在網找到。
 connmgr = dbconnectionmanager.getinstance();
 connection con = connmgr.getconnection("idb");//從連接池中獲的一個連接
 int currentpage=1;
 int intpagecount,introwcount;
 if(request.getparameter("page")!=null)
  currentpage=integer.parseint(request.getparameter("page"));
 if(currentpage<1)
  currentpage=1;
  int intpagesize=5;//設置每頁顯示5條
%>
<html>
<head>
<title>untitled document</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.style3 {color: #ff0000}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #fffddf;
}
-->
</style>
<script language="javascript">
function goto(frm)
{
 var gourl ="comment.jsp?";
 gourl += "&page=" + (frm.page.value);
 var hid=parseint(frm.hid.value);
 if(parseint(frm.page.value)>hid||frm.page.value<=0){
  alert("錯誤!請確定你輸入的數字在1-"+hid+"之間");
  return false;
 }
 window.location.href(gourl);
}</script>
</head>
<body>
<%
comment[] p=null;
testsql ts=null;
try
{
 ts=new testsql(con);
 p=ts.getcomment(intpagesize,currentpage);//ts=.getcomments(pagesize(每頁顯示個數),page(頁數))
 intpagecount =ts.getpagecount(); //獲的頁數
 introwcount=p.length;
 if(currentpage>intpagecount)
  currentpage = intpagecount;
  int total=ts.gettotal(); //獲取記錄總數
 %>
?。紅able width="748" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="17"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#ebeadf">
<tr>
<td height="25" bgcolor="#a7e081"><div align="center" class="style3">網友評論</div></td>
</tr>
<!-- start loop by tr -------------------------->
<%
if(introwcount>0)
{
 for(int i=0;i<introwcount;i++)
 {
  %>
 ?。紅r>
 ?。紅d height="20">
 ?。紅able width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#ebeadf">
 ?。紅r>
  ?。紅d height="20">  <img src=http://tech.ddvip.com/2006-11/"image/dot11.gif" width="9" height="9"> <%=p[i].getuser()%>于 < %=p[i].getmodi_time()%> 留言 </td>
 ?。?tr>
 ?。紅r>
  ?。紅d bgcolor="#fbfbf9" style="padding:5px 5px 5px 5px;line-height:18px;"> <%=p[i].getcontent()%></td>
 ?。?tr>
</table>
</td>
</tr>
<%
}
}
else
{
%>
<tr>
<td height="20" bgcolor="#ebeadf">
<%
out.print("   暫時沒有評論");
}
%>
</td>
</tr>
<!-- end loop by tr -------------------------->
</table></td>
</tr>
<tr>
<td height="17" bgcolor="#fbfbf9">
<div align="center">
<form style="margin:0 0 0 0 ">
<div align="center">第<%=currentpage%>頁  共<%=intpagecount%>頁  
<%if(currentpage>1){%>
<a href="comment.jsp?page=<%=currentpage-1%>">上一頁</a>  
<%}else{%>
上一頁  
<%}%>
<%if(currentpage>=intpagecount){%>
下一頁
<%}else{%>
<a href="comment.jsp?page=<%=currentpage+1%>">下一頁</a>
<%}%>
跳至
<input type="hidden" name="hid" value="<%=intpagecount%>">
<input name="page" type="text" size="2" onchange="goto(this.form)">

<input type="button" name="button2" value="go->" style="font-size:12px ">
</div>
</form>
</div></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<%
}
catch(exception e)
{
 e.printstacktrace();
}
finally{
 connmgr.freeconnection("idb", con);
 connmgr.release();
 ts.close();
 p=null;
}
%>

  注:win2000+tomcat5.0調試通過;redhat9+tomcat5.0調試通過

注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美一区二区三区久久| 久久精品精品电影网| 精品久久中文字幕| 伊人成人开心激情综合网| 成人网在线免费观看| 国产精品久久久久久久久借妻| 两个人的视频www国产精品| 性欧美办公室18xxxxhd| 日韩最新av在线| 国产精品精品久久久久久| 日韩激情av在线免费观看| 久久国产精彩视频| 欧美日韩在线免费| 国产日本欧美一区二区三区在线| 国产视频久久久| 国产成人免费91av在线| 亚洲欧美成人精品| 国产成人精品电影久久久| 日韩av电影在线免费播放| 国产中文日韩欧美| 日韩高清免费观看| 欧美日韩国产影院| 国产视频久久久| 成人免费网站在线观看| 亚洲欧美一区二区精品久久久| 精品亚洲一区二区三区在线播放| 在线观看成人黄色| 国产亚洲成av人片在线观看桃| 色综合五月天导航| 国产成人高潮免费观看精品| 中文字幕亚洲综合久久筱田步美| 久久久久www| 91免费精品国偷自产在线| 97视频免费观看| 亚洲日韩中文字幕在线播放| 亚洲欧美制服另类日韩| 中文在线不卡视频| 亚洲欧美另类人妖| 日韩av中文字幕在线播放| 国产视频在线一区二区| 亚洲男人天堂九九视频| 日本国产精品视频| 亚洲奶大毛多的老太婆| 亚洲高清久久久久久| 欧美日韩免费在线| 中文字幕精品在线视频| 国产精品久久久久久亚洲影视| 91香蕉嫩草影院入口| 亚洲人成网站免费播放| 丝袜一区二区三区| 欧美激情在线有限公司| 国产不卡视频在线| 国产成人一区二区三区小说| 日韩高清欧美高清| 69视频在线播放| 亚洲最大中文字幕| 俺也去精品视频在线观看| 日本国产精品视频| 久久精品久久久久| 91av在线免费观看| 一本一本久久a久久精品牛牛影视| 欧美成人性色生活仑片| 最近日韩中文字幕中文| 国产精品爽黄69天堂a| 欧美成人中文字幕在线| 国产精品大片wwwwww| 欧美精品一区三区| 亚洲第一天堂av| 欧美洲成人男女午夜视频| 91精品国产电影| 国产一区二区三区精品久久久| 日韩av大片在线| 国产日韩欧美91| 在线a欧美视频| 影音先锋日韩有码| 国产日本欧美一区| 欧美性生交xxxxxdddd| 日韩欧美在线视频| 亚洲精品一区二区在线| 美日韩精品免费视频| 亚洲国产精品va在线看黑人动漫| 国产亚洲精品久久| 亚洲第一页自拍| 日韩在线免费视频观看| 5278欧美一区二区三区| 成人亚洲综合色就1024| 欧美激情欧美激情在线五月| 视频一区视频二区国产精品| 国内精品久久久久久影视8| 久久精彩免费视频| 久久夜色精品亚洲噜噜国产mv| 国产一区二区三区视频在线观看| 成人在线观看视频网站| 日韩av资源在线播放| 久久精品国产2020观看福利| 欧洲亚洲免费视频| 国产精品美女av| 欧美精品第一页在线播放| 日本欧美黄网站| 在线看片第一页欧美| 亚洲白拍色综合图区| 日韩av在线影视| 亚洲色图日韩av| 18一19gay欧美视频网站| 91午夜理伦私人影院| 欧美精品videos另类日本| 欧美成人午夜激情在线| 日本韩国欧美精品大片卡二| 在线播放日韩精品| 91精品免费看| 国产精品黄视频| 欧美一级免费视频| 久久久av免费| 日本19禁啪啪免费观看www| 国产成人免费91av在线| 国产成人精品午夜| 夜夜嗨av色一区二区不卡| 欧美精品在线播放| 中文字幕在线视频日韩| 九九九久久国产免费| 亚洲性无码av在线| 日韩欧美在线观看视频| 亚洲精品不卡在线| 亚洲一区二区久久久久久久| 久久久久久久999精品视频| 狠狠综合久久av一区二区小说| 最新国产成人av网站网址麻豆| 自拍偷拍亚洲欧美| 久久久免费精品视频| 欧美国产高跟鞋裸体秀xxxhd| 国产精品日韩欧美大师| 97超碰国产精品女人人人爽| 国产日韩欧美日韩大片| 国产精品女主播视频| 欧美精品在线极品| 欧美裸体xxxx极品少妇软件| 欧美日韩国产精品一区| 国产精品成人久久久久| 亚洲精品97久久| 欧美高清视频一区二区| 欧美成人午夜激情在线| 美女国内精品自产拍在线播放| 一本大道久久加勒比香蕉| 欧美另类交人妖| 成人欧美一区二区三区在线湿哒哒| 裸体女人亚洲精品一区| 欧美极品在线播放| 另类专区欧美制服同性| 亚洲黄色在线看| 欧美裸体xxxx极品少妇软件| 国产不卡一区二区在线播放| 欧美黑人xxx| 日韩av在线一区二区| 疯狂蹂躏欧美一区二区精品| 91精品中文在线| 成人精品aaaa网站| 国产日产欧美a一级在线| 日韩少妇与小伙激情| 亚洲精品日韩丝袜精品| 伊人成人开心激情综合网| 国产97免费视| 精品国产一区二区三区久久久| 最近免费中文字幕视频2019| 欧美成人免费va影院高清|