Fork me on GitHub

一个测试

MySQL数据库下的JSP分页查询模块源码
2009-07-01 10:01 佚名 CSDN博客 字号:T | T

本文将向你简单介绍JSP分页查询模块的实现,对于JSP的学习者MySQL数据库并不陌生,那么本文将展示在MYSQL下的JSP分页查询模块的实现。
AD:2013云计算架构师峰会课程资料下载
对于JSP的学习者MySQL并不陌生,那么如何JSP分页查询模块的实现呢,让我们开始吧!

这个功能一共创建了两个JavaBean组件和一个JSP页面显示分页页面,第一个是处理以数据库连接的JavaBean,第一个JavaBean是处理JSP分页查询结果的代码,第三个JSP是调用第二个JavaBean,显示JSP分页查询的结果!

◆下面是连接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的处理MySQL数据库的JSP分页查询显示的代码

package data;  
import java.sql.*;  
import java.util.*;  
public class strongSplitPage  
{  
       private Connection conn=null;  
    private Statement stmt=null;  
    private ResultSet rs=null;  
    private ResultSetMetaData rsmd=null;  
    //sql 查询语句  
    private String sqlStr;  
    //总纪录数目  
    private int rowCount;  
    //所分得逻辑页数  
    private int pageCount;  
    //每页显示的纪录数目  
    private int pageSize;  
    //定义表的列数目  
    private int columnCount;  
    private int irows;  
    public void initialize(String sqlStr,int pageSize,int showPage)  
    {  
            this.sqlStr=sqlStr;  
      this.irows=pageSize*(showPage-1);  
      this.pageSize=pageSize;  
      try  
      {  
          LoginData loginData=new data.LoginData();  
          this.conn=loginData.getConn();  
       thisthis.stmt=this.conn.createStatement();  
       thisthis.rs=this.stmt.executeQuery(this.sqlStr);  
       thisthis.rsmd=this.rs.getMetaData();  
       if(this.rs!=null)  
       {  
          this.rs.last();  
       thisthis.rowCount=this.rs.getRow();  
       this.rs.first();  
       thisthis.columnCount=this.rsmd.getColumnCount();  
       this.pageCount=(this.rowCount-1)/this.pageSize+1;  
       this.rs.close();  
       this.stmt.close();  
       }  
       thisthis.sqlStr=this.sqlStr+" limit "+this.irows+","+this.pageSize;  
       thisthis.stmt=this.conn.createStatement();   
       thisthis.rs=this.stmt.executeQuery(this.sqlStr);     
       }catch(Exception ex)  
    {  
              ex.printStackTrace();  
        }  
    }  
    public Vector getPage()  
    {  
           Vector vData=new Vector();  
     try  
     {  
         if(this.rs!=null)  
      {  
              
         while(this.rs.next())  
      {       
             String[] sData=new String[this.columnCount];  
          for(int j=0;j﹤this.columnCount;j++)  
       {  
               sData[j]=this.rs.getString(j+1);  
          }  
          vData.addElement(sData);  
        }  
        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="data.strongSplitPage" /﹥  
﹤!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;  
   //获得跳转到的页面    
   strPage=request.getParameter("showPage");       
   if(strPage==null){  
      showPage=1;  
   pages.initialize(sqlStr,pageSize,showPage);  
   }else{  
         try{  
         showPage=Integer.parseInt(strPage);   
      pages.initialize(sqlStr,pageSize,showPage);  
   }catch(NumberFormatException ex){  
          showPage=1;  
        pages.initialize(sqlStr,pageSize,showPage);  
   }  
   if(showPage﹤1){  
          showPage=1;  
        pages.initialize(sqlStr,pageSize,showPage);  
   }  
   if(showPage﹥pages.getPageCount()){  
           showPage=pages.getPageCount();  
      pages.initialize(sqlStr,pageSize,showPage);  
   }  
   }  
   //取得要显示的数据集合  
   Vector vData=pages.getPage();     
%﹥  
﹤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﹥条 ﹤%=pageSize%﹥条/页  第﹤font color=red﹥﹤%=showPage%﹥﹤/font﹥页/共﹤font color=red﹥﹤%=pages.getPageCount()%﹥﹤/font﹥页  [﹤a href="word_list_javabean.jsp?showPage=1" target="_self"﹥首页﹤/a﹥]   
       ﹤%  
       //判断“上一页”链接是否要显示  
    if(showPage﹥1){  
    %﹥  
       [﹤a href="word_list_javabean.jsp?showPage=﹤%=showPage-1%﹥" target="_self"﹥上一页﹤/a﹥]   
    ﹤%  
       }   
       else{      
    %﹥  
            [上一页]   
  ﹤%  
         }  
      //判断“下一页”链接是否显示  
      if(showPage﹤pages.getPageCount())  
      {   
  %﹥      
    [﹤a href="word_list_javabean.jsp?showPage=﹤%=showPage+1%﹥" target="_self"﹥下一页﹤/a﹥]   
    ﹤%  
       }   
       else{      
    %﹥  
            [下一页]   
  ﹤%  
     }  
  %﹥      
   
    [﹤a href="word_list_javabean.jsp?showPage=﹤%=pages.getPageCount()%﹥" target="_self"﹥尾页﹤/a﹥] 转到  
        ﹤select name="select"﹥  
  ﹤%  
       for(int x=1;x﹤=pages.getPageCount();x++)  
    {   
  %﹥  
            ﹤option value="﹤%=x%﹥"%  
          if(showPage==x){  
           out.println("selected");  
        }     
      %﹥ ﹥﹤%=x%﹥﹤/option﹥  
  ﹤%  
       }  
  %﹥      
        ﹤/select﹥  
        页     
        ﹤input type="submit" name="go" value="提交" /﹥  
    ﹤/p﹥  
  ﹤/form﹥  
    ﹤/p﹥  
    ﹤/div﹥  
﹤/body﹥  
﹤/html﹥  
 

 

posted @ 2014-03-13 23:54  种花生的读书人  阅读(377)  评论(0编辑  收藏  举报

该博客仅作为记录笔记,转载随意