如何通用數據庫jsp分頁查詢模塊_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:jsp的分頁查詢的代碼(mysql數據庫)
      這個功能一共創建了兩個javabean組件和一個jsp頁面顯示分頁頁面,第一個是處理以數據庫連接的javabean,第一個javabean是處理分頁查詢結果的代碼,第三個jsp是調用第二個javabean,顯示分頁查詢結果! //下面是連接mysql數據庫的一個javabean的代碼: package

      這個功能一共創建了兩個javabean組件和一個jsp頁面顯示分頁頁面,第一個是處理以數據庫連接的javabean,第一個javabean是處理分頁查詢結果的代碼,第三個jsp是調用第二個javabean,顯示分頁查詢結果!
      //下面是連接mysql數據庫的一個javabean的代碼(可以更改下面的數據庫,不影響代碼的執行):

      package data;
      import java.sql.*;

      public class LoginData{
      Connection conn=null;
      public LoginData(){
      this.connect();
      }

      public Connection getConn(){
      return this.conn;
      }
      public boolean connect(){
      try{
      //使用JDBC橋創建數據庫連接
      Class.forName("org.gjt.mm.mysql.Driver").newInstance();

      //使用DriverManager類的getConnection()方法建立連接
      //第一個參數定義用戶名,第二個參數定義密碼
      this.conn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/logindemo?useUnicode=true&characterEncoding=gb2312","root","123456");
      }catch(Exception ex){
      ex.printStackTrace();
      return false;
      }
      return true;
      }
      }

      //分頁查詢處理javabean

      package split;
      import java.sql.*;
      import java.util.*;
      import data.LoginData;
      public class splitPage
      {
      private Connection conn=null;
      private Statement stmt=null;
      private ResultSet rs=null;
      private ResultSetMetaData rsmd=null;
      //sql 查詢語句
      private String sqlStr;
      //總紀錄數目
      public int rowCount;
      //所分得邏輯頁數
      public int pageCount;
      //每頁顯示的紀錄數目
      private int pageSize;
      //定義表的列數目
      private int columnCount;
      public void initialize(String sqlStr,int pageSize)
      {
      this.sqlStr=sqlStr;
      this.pageSize=pageSize;
      try
      {
      LoginData loginData=new data.LoginData();
      this.conn=loginData.getConn();
      this.stmt=this.conn.createStatement();
      this.rs=this.stmt.executeQuery(this.sqlStr);
      this.rsmd=this.rs.getMetaData();
      if(this.rs!=null)
      {
      this.rs.last();
      this.rowCount=this.rs.getRow();
      this.rs.first();
      this.columnCount=this.rsmd.getColumnCount();
      this.pageCount=(this.rowCount/this.pageSize==0)?(this.rowCount/this.pageSize):(this.rowCount/this.pageSize+1);
      }
      }catch(Exception ex)
      {
      ex.printStackTrace();
      }
      }
      public Vector getPage(int ipage)
      {
      Vector vData=new Vector();
      int n=ipage;
      int m=0;
      m=(n-1)*this.pageSize+1;
      try
      {
      if(this.rs!=null)
      {
      if(n!=1)
      {
      this.rs.absolute(m);
      }
      for(int i=0;i<this.pageSize;i++)
      {
      String[] sData=new String[this.columnCount];
      for(int j=0;j<this.columnCount;j++)
      {
      sData[j]=this.rs.getString(j+1);
      }
      if(sData==null)
      {
      break;
      }
      vData.addElement(sData);
      this.rs.next();
      }
      this.rs.close();
      this.stmt.close();
      this.conn.close();
      }
      }catch(Exception ex)
      {
      ex.printStackTrace();
      }
      return vData;
      }

      //獲得頁面總數
      public int getPageCount()
      {
      return this.pageCount;
      }
      //獲得數據表中總紀錄數
      public int getRowCount()
      {
      return this.rowCount;
      }
      }

      //jsp顯示分頁查詢頁面

      <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
      <%@ page import="java.io.*" %>
      <%@ page import="java.util.*" %>
      <%@ page import="data.*"%>
      <jsp:useBean id="pages" scope="page" class="split.splitPage" />
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <%!
      //顯示每頁的紀錄數
      int pageSize=10;
      String sqlStr="";
      //當前頁
      int showPage=1;
      %>

      <%
      sqlStr="select * from userinfo order by id ";
      String strPage=null;
      //獲得跳轉到的頁面
      pages.initialize(sqlStr,pageSize);
      strPage=request.getParameter("showPage");
      if(strPage==null){
      showPage=1;
      }else{
      try{
      showPage=Integer.parseInt(strPage);
      }catch(NumberFormatException ex){
      showPage=1;
      }
      if(showPage<1){
      showPage=1;
      }
      if(showPage>pages.getPageCount()){
      showPage=pages.getPageCount();
      }
      }
      //取得要顯示的數據集合
      Vector vData=pages.getPage(showPage);
      %>
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      <title>分頁顯示</title>
      </head>

      <body bgcolor="#ffffff" text="#000000">
      <h1 align=center>個人基本信息</h1>
      <div align=center>
      <table border="1" cellspacing="0" cellpadding="0" width="80%">
      <tr>
      <th width="20%">編號</th>
      <th width="40%">學號</th>
      <th width="40%">姓名</th>
      </tr>
      <%
      for(int i=0;i<vData.size();i++)
      {
      //顯示數據數
      String[] sData=(String[])vData.get(i);
      %>
      <tr>
      <td><%=sData[0]%></td>
      <td><%=sData[1]%></td>
      <td><%=sData[2]%></td>
      </tr>
      <%
      }
      %>
      </table>
      <p>
      <form action="word_list_javabean.jsp" method="get" target="_self">
      <p>共<font color=red><%=pages.getRowCount()%></font>條&nbsp;<%=pageSize%>條/頁&nbsp;&nbsp;第<font color=red><%=showPage%></font>頁/共<font color=red><%=pages.getPageCount()%></font>頁&nbsp;&nbsp;[<a href="word_list_javabean.jsp?showPage=1" target="_self">首頁</a>]&nbsp;
      <%
      //判斷“上一頁”鏈接是否要顯示
      if(showPage>1){
      %>
      [<a href="word_list_javabean.jsp?showPage=<%=showPage-1%>" target="_self">上一頁</a>]&nbsp;
      <%
      }
      else{
      %>
      [上一頁]&nbsp;
      <%
      }
      //判斷“下一頁”鏈接是否顯示
      if(showPage<pages.getPageCount())
      {
      %>
      [<a href="word_list_javabean.jsp?showPage=<%=showPage+1%>" target="_self">下一頁</a>]&nbsp;
      <%
      }
      else{
      %>
      [下一頁]&nbsp;
      <%
      }
      %>

      [<a href="word_list_javabean.jsp?showPage=<%=pages.getPageCount()%>" target="_self">尾頁</a>]&nbsp;轉到
      <select name="select">
      <%
      for(int x=1;x<=pages.getPageCount();x++)
      {
      %>
      <option value="<%=x%>"
      <%
      if(showPage==x){
      out.println("selected");
      }
      %> ><%=x%></option>
      <%
      }
      %>
      </select>
      頁&nbsp;&nbsp;&nbsp;
      <input type="submit" name="go" value="提交" />
      </p>
      </form>
      </p>
      </div>
      </body>
      </html>

       

       

      分享:JSP的MYSQL數據庫的代碼
      最近研究了jsp的數據庫操作問題。本來我是要拿oracle數據庫來測試的。但是由于機子的內存限制,就換成了mysql數據庫了。 第一次用jsp編數據庫的連接,發現問題還真不少。剛開始是jdbc配置就有問題,后來數據庫連接好了,中文設置也是個問題。后來還有sql語句

      來源:模板無憂//所屬分類:JSP教程/更新時間:2010-04-13
      相關JSP教程