MySQL数据库下的JSP分页查询模块源码

开发 后端
本文将向你简单介绍JSP分页查询模块的实现,对于JSP的学习者MySQL数据库并不陌生,那么本文将展示在MYSQL下的JSP分页查询模块的实现。

对于JSP的学习者MySQL并不陌生,那么如何JSP分页查询模块的实现呢,让我们开始吧!

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

◆下面是连接MYSQL数据库的一个JavaBean的代码

  1. package data;  
  2. import java.sql.*;  
  3.  
  4. public class LoginData{  
  5.     Connection conn=null;   
  6.     public LoginData(){  
  7.               this.connect();      
  8.     }  
  9.      
  10.     public Connection getConn(){  
  11.             return this.conn;  
  12.     }  
  13.     public boolean connect(){  
  14.            try{  
  15.           //使用JDBC桥创建数据库连接  
  16.        Class.forName("org.gjt.mm.MYSQL.Driver").newInstance();  
  17.           
  18.      //使用DriverManager类的getConnection()方法建立连接  
  19.      //***个参数定义用户名,第二个参数定义密码  
  20.      this.conn=java.sql.DriverManager.getConnection("
    jdbc:MYSQL://localhost:3306/logindemo?
    useUnicode=true&characterEncoding=gb2312",
    "root","
    123456");  
  21.       }catch(Exception ex){  
  22.            ex.printStackTrace();   
  23.      return false;  
  24.       }  
  25.       return true;  
  26.     }  
  27. }    
  28.  

◆下面是一个JavaBean的处理MySQL数据库的JSP分页查询显示的代码

  1. package data;  
  2. import java.sql.*;  
  3. import java.util.*;  
  4. public class strongSplitPage  
  5. {  
  6.        private Connection conn=null;  
  7.     private Statement stmt=null;  
  8.     private ResultSet rs=null;  
  9.     private ResultSetMetaData rsmd=null;  
  10.     //sql 查询语句  
  11.     private String sqlStr;  
  12.     //总纪录数目  
  13.     private int rowCount;  
  14.     //所分得逻辑页数  
  15.     private int pageCount;  
  16.     //每页显示的纪录数目  
  17.     private int pageSize;  
  18.     //定义表的列数目  
  19.     private int columnCount;  
  20.     private int irows;  
  21.     public void initialize(String sqlStr,int pageSize,int showPage)  
  22.     {  
  23.             this.sqlStr=sqlStr;  
  24.       this.irows=pageSize*(showPage-1);  
  25.       this.pageSize=pageSize;  
  26.       try  
  27.       {  
  28.           LoginData loginData=new data.LoginData();  
  29.           this.conn=loginData.getConn();  
  30.        thisthis.stmt=this.conn.createStatement();  
  31.        thisthis.rs=this.stmt.executeQuery(this.sqlStr);  
  32.        thisthis.rsmd=this.rs.getMetaData();  
  33.        if(this.rs!=null)  
  34.        {  
  35.           this.rs.last();  
  36.        thisthis.rowCount=this.rs.getRow();  
  37.        this.rs.first();  
  38.        thisthis.columnCount=this.rsmd.getColumnCount();  
  39.        this.pageCount=(this.rowCount-1)/this.pageSize+1;  
  40.        this.rs.close();  
  41.        this.stmt.close();  
  42.        }  
  43.        thisthis.sqlStr=this.sqlStr+" limit "+this.irows+","+this.pageSize;  
  44.        thisthis.stmt=this.conn.createStatement();   
  45.        thisthis.rs=this.stmt.executeQuery(this.sqlStr);     
  46.        }catch(Exception ex)  
  47.     {  
  48.               ex.printStackTrace();  
  49.         }  
  50.     }  
  51.     public Vector getPage()  
  52.     {  
  53.            Vector vData=new Vector();  
  54.      try  
  55.      {  
  56.          if(this.rs!=null)  
  57.       {  
  58.               
  59.          while(this.rs.next())  
  60.       {       
  61.              String[] sData=new String[this.columnCount];  
  62.           for(int j=0;j﹤this.columnCount;j++)  
  63.        {  
  64.                sData[j]=this.rs.getString(j+1);  
  65.           }  
  66.           vData.addElement(sData);  
  67.         }  
  68.         this.rs.close();  
  69.         this.stmt.close();  
  70.         this.conn.close();  
  71.        }  
  72.       }catch(Exception ex)  
  73.       {  
  74.           ex.printStackTrace();  
  75.       }  
  76.             return vData;  
  77.   }  
  78.          
  79.      //获得页面总数  
  80.      public int getPageCount()  
  81.      {  
  82.              return this.pageCount;  
  83.      }  
  84.      //获得数据表中总纪录数  
  85.      public int getRowCount()  
  86.      {  
  87.              return this.rowCount;  
  88.      }  
  89. }  
  90.  

◆下面是显示JSP分页查询页面

  1. ﹤%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %﹥  
  2. ﹤%@ page import="java.io.*" %﹥  
  3. ﹤%@ page import="java.util.*" %﹥  
  4. ﹤%@ page import="data.*"%﹥  
  5. ﹤jsp:useBean id="pages" scope="page" class="data.strongSplitPage" /﹥  
  6. ﹤!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"﹥  
  7. ﹤%!  
  8.       //显示每页的纪录数  
  9.    int pageSize=10;  
  10.    String sqlStr="";  
  11.    //当前页  
  12.    int showPage=1;  
  13. %﹥  
  14.  
  15. ﹤%  
  16.       sqlStr="select * from userinfo order by id ";  
  17.    String strPage=null;  
  18.    //获得跳转到的页面    
  19.    strPage=request.getParameter("showPage");       
  20.    if(strPage==null){  
  21.       showPage=1;  
  22.    pages.initialize(sqlStr,pageSize,showPage);  
  23.    }else{  
  24.          try{  
  25.          showPage=Integer.parseInt(strPage);   
  26.       pages.initialize(sqlStr,pageSize,showPage);  
  27.    }catch(NumberFormatException ex){  
  28.           showPage=1;  
  29.         pages.initialize(sqlStr,pageSize,showPage);  
  30.    }  
  31.    if(showPage﹤1){  
  32.           showPage=1;  
  33.         pages.initialize(sqlStr,pageSize,showPage);  
  34.    }  
  35.    if(showPage﹥pages.getPageCount()){  
  36.            showPage=pages.getPageCount();  
  37.       pages.initialize(sqlStr,pageSize,showPage);  
  38.    }  
  39.    }  
  40.    //取得要显示的数据集合  
  41.    Vector vData=pages.getPage();     
  42. %﹥  
  43. ﹤html xmlns="http://www.w3.org/1999/xhtml"﹥  
  44. ﹤head﹥  
  45. ﹤meta http-equiv="Content-Type" content="text/html; charset=gb2312" /﹥  
  46. ﹤title﹥分页显示﹤/title﹥  
  47. ﹤/head﹥  
  48.  
  49. ﹤body bgcolor="#ffffff" text="#000000"﹥  
  50.        ﹤h1 align=center﹥个人基本信息﹤/h1﹥  
  51. ﹤div align=center﹥  
  52.     ﹤table border="1" cellspacing="0" cellpadding="0" width="80%"﹥  
  53.     ﹤tr﹥  
  54.          ﹤th width="20%"﹥编号﹤/th﹥  
  55.    ﹤th width="40%"﹥学号﹤/th﹥  
  56.    ﹤th width="40%"﹥姓名﹤/th﹥  
  57.     ﹤/tr﹥  
  58.     ﹤%  
  59.           for(int i=0;i﹤vData.size();i++)  
  60.     {  
  61.           //显示数据数  
  62.        String[] sData=(String[])vData.get(i);  
  63.     %﹥  
  64.                  ﹤tr﹥  
  65.            ﹤td﹥﹤%=sData[0]%﹥﹤/td﹥  
  66.         ﹤td﹥﹤%=sData[1]%﹥﹤/td﹥  
  67.         ﹤td﹥﹤%=sData[2]%﹥﹤/td﹥  
  68.      ﹤/tr﹥  
  69.   ﹤%  
  70.        }  
  71.   %﹥         
  72.     ﹤/table﹥  
  73.     ﹤p﹥  
  74.   ﹤form action="word_list_javabean.jsp" method="get" target="_self"﹥  
  75.       ﹤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﹥]   
  76.        ﹤%  
  77.        //判断“上一页”链接是否要显示  
  78.     if(showPage﹥1){  
  79.     %﹥  
  80.        [﹤a href="word_list_javabean.jsp?showPage=﹤%=showPage-1%﹥" target="_self"﹥上一页﹤/a﹥]   
  81.     ﹤%  
  82.        }   
  83.        else{      
  84.     %﹥  
  85.             [上一页]   
  86.   ﹤%  
  87.          }  
  88.       //判断“下一页”链接是否显示  
  89.       if(showPage﹤pages.getPageCount())  
  90.       {   
  91.   %﹥      
  92.     [﹤a href="word_list_javabean.jsp?showPage=﹤%=showPage+1%﹥" target="_self"﹥下一页﹤/a﹥]   
  93.     ﹤%  
  94.        }   
  95.        else{      
  96.     %﹥  
  97.             [下一页]   
  98.   ﹤%  
  99.      }  
  100.   %﹥      
  101.    
  102.     [﹤a href="word_list_javabean.jsp?showPage=﹤%=pages.getPageCount()%﹥" target="_self"﹥尾页﹤/a﹥] 转到  
  103.         ﹤select name="select"﹥  
  104.   ﹤%  
  105.        for(int x=1;x﹤=pages.getPageCount();x++)  
  106.     {   
  107.   %﹥  
  108.             ﹤option value="﹤%=x%﹥" 
  109.       ﹤%  
  110.           if(showPage==x){  
  111.            out.println("selected");  
  112.         }     
  113.       %﹥ ﹥﹤%=x%﹥﹤/option﹥  
  114.   ﹤%  
  115.        }  
  116.   %﹥      
  117.         ﹤/select﹥  
  118.         页     
  119.         ﹤input type="submit" name="go" value="提交" /﹥  
  120.     ﹤/p﹥  
  121.   ﹤/form﹥  
  122.     ﹤/p﹥  
  123.     ﹤/div﹥  
  124. ﹤/body﹥  
  125. ﹤/html﹥  
  126.  

以上就是在MYSQL数据库下的JSP分页查询的实现,希望对你有所帮助!

【编辑推荐】

  1. 基于JSP实现数据库中图片的存储与显示
  2. 构造JSP和Javabean开发和发布环境的方法
  3. 实现JSP论坛树型结构的具体算法
  4. JSP教程之访问量计数JSP源码
  5. JSP入门之网站环境搭建的步骤
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-05-15 10:11:55

数据库查询查询性能分页浏览

2012-07-23 14:30:33

Oracle

2009-07-03 14:23:49

JSP数据分页

2011-08-15 10:22:19

分页查询数据库

2013-01-04 10:00:12

MySQL数据库数据库查询优化

2011-08-10 11:07:34

MySQL查询缓冲

2009-02-11 09:37:32

Hibernate分页技术JSP

2009-07-07 14:56:33

JSP连接MySQL

2011-03-09 08:53:02

MySQL优化集群

2019-07-11 08:45:00

MySQL数据库缓存

2009-09-22 16:49:42

Hibernate分页

2010-09-06 11:40:06

SqlServer语句

2009-07-03 13:56:21

JSP编程技巧

2013-05-24 13:24:46

Mysql数据库自动备份

2022-06-20 05:40:25

数据库MySQL查询

2010-11-25 14:21:16

MySQL查询分页

2011-04-02 09:33:08

MySQL数据库查询效率

2022-09-01 23:29:22

MySQLPython数据库

2010-05-11 11:53:57

Mysql show命

2010-03-04 17:19:40

点赞
收藏

51CTO技术栈公众号