网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网站开发-> JSP技术-> MySQL实现分页JSP+JAVABEAN实现

MySQL实现分页JSP+JAVABEAN实现
作者:佚名 来源:InterNet 加入时间:2005-1-8
相关文章
  • jsp连接数据库大全
  • Jsp如何实现网页的重定向
  • 编写线程安全的JSP程序
  • 用缓冲技术提高JSP应用的性能和稳定性
  • Jsp结合XML+XSLT将输出转换为Html格式
  • JSP数据库连接池的必要性
  • 在JSP页面中实现检索数据的分页显示
  • 在jsp中作HTTP认证的方法
  • JSP通过JDBC与Oracle相连
  • html与jsp开发分离技术
  • 相关书籍:
  • JSP数据库开发实例精粹
  • JSP软件工程案例精解
  • JSP语法
  • JSP数据库编程指南
  • JSP由浅入深
  • 关键代码是MySQL下的一条命令:select * from 表名 limit 第几页(0开始),每页的记录数;换句话说,只要改变第几页这个变量就能实现分页的浏览了。

    1。建立2个Bean,一个是负责数据库连接,一个负责分页。

    package DBConn;
    import java.sql.*;
    import java.lang.*;


    public class MySQLConnection {
    private String DBDriver="com.mysql.jdbc.Driver";
    private String ConnStr="jdbc:mysql://localhost:3306/zb?user=root&password=admin";

    public MySQLConnection() throws java.lang.NullPointerException
    {
    try{
    Class.forName(DBDriver);
    }
    catch(ClassNotFoundException e){
    System.err.println(e.getMessage());
    }
    }

    public String getConnStr()
    {
    return ConnStr;
    }
    }

    package DBConn;
    import java.sql.*;
    import java.lang.*;
    import DBConn.MySQLConnection.*;


    public class PageBreak {
    private String ConnStr="";
    private Connection conn=null;
    private ResultSet rs=null;
    private int PageSize=0;//一页几个记录
    private int PageNumber=0;//页号

    public PageBreak() throws java.lang.NullPointerException
    {
    MySQLConnection DBConnection=new MySQLConnection();
    ConnStr=DBConnection.getConnStr();//得到ConnStr
    }

    public ResultSet executeQuery(String sql) throws java.lang.NullPointerException
    {
    rs=null;
    try{
    conn=DriverManager.getConnection(ConnStr);
    Statement stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    }
    catch(SQLException e){
    System.err.println(e.getMessage());
    }
    return rs;
    }

    public int RecordNumber() throws java.lang.NullPointerException//得到表的记录总数
    {
    rs=null;
    int ColNumber=0;
    try{
    conn=DriverManager.getConnection(ConnStr);
    Statement stmt=conn.createStatement();
    rs=stmt.executeQuery("select count(*) as ColNumber from User" );

    while (rs.next())
    {
    ColNumber=rs.getInt("ColNumber");
    }
    }
    catch(SQLException e){
    System.err.println(e.getMessage());
    }
    return ColNumber;
    }

    public void setPageSize(int pPageSize)//设置页面大小,并且计算出一共有多少页
    {
    this.PageSize=pPageSize;
    int RecordNumber=this.RecordNumber();
    this.PageNumber=(int)Math.floor(RecordNumber/PageSize);
    }

    public int getPageSize()//得到页面大小
    {
    return this.PageSize;
    }

    public int getPageNumber()//得到页面数
    {
    return this.PageNumber;
    }

    public void Close()//显示关闭连接
    {
    try{
    conn.close();
    rs.close();
    }
    catch(SQLException e){
    System.err.println(e.getMessage());
    }
    }
    }

    2。建立JSP页面

    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <jsp:useBean id="DBConnection" scope="page" class="DBConn.PageBreak"/>
    <html>
    <body>
    <%
    DBConnection.setPageSize(2);//设置页面大小

    int RecordPerPage=DBConnection.getPageSize();//得到页面大小
    int PageNumber=DBConnection.getPageNumber();//得到页面数
    int offSet=0;//Select 中的第几页,0开始
    int Next=2;//连接“下一页”的初始化
    int Pre=1;//连接“上一页”的初始化
    int AbsolutePage=1;//绝对页面,1开始。作为连接“下一页”、“上一页”的过渡变量

    if(request.getParameter("PageNo")==null)//没有参数传入,则为物理的1页,即0
    offSet=0;
    else if(request.getParameter("PageNo")!=null)
    {
    offSet=Integer.parseInt(request.getParameter("PageNo"))-1;//有参数传入,参数为逻辑页面号,减1得物理页面号
    if((offSet+1)>PageNumber)//达到最后一页
    {
    offSet=PageNumber;
    AbsolutePage=PageNumber+1;
    Next=AbsolutePage;
    Pre=Next-1;
    }
    else if(offSet<1)//达到第一页
    {
    offSet=0;
    AbsolutePage=offSet+1;
    Next=AbsolutePage+1;
    Pre=Next-1;
    }
    else
    {
    AbsolutePage=offSet+1;
    Next=AbsolutePage+1;
    Pre=AbsolutePage-1;
    }
    }


    String QuerySQL="select * from user limit "+offSet*RecordPerPage+","+RecordPerPage;//关键代码

    ResultSet RS=DBConnection.executeQuery(QuerySQL);
    while(RS.next())
    {
    String userName=RS.getString("UserName");
    out.print(userName+"<br>");
    }

    out.print("<a href='test.jsp?PageNo="+(Next)+"'>next</a><br>");//下一页
    out.print("<a href='test.jsp?PageNo="+(Pre)+"'>previous</a>");//上一页

    RS.close();
    DBConnection.Close();
    %>
    </body>
    </html>


    [文章录入员:tonny]

    相关文章
  • jsp连接数据库大全
  • Jsp如何实现网页的重定向
  • 编写线程安全的JSP程序
  • 用缓冲技术提高JSP应用的性能和稳定性
  • Jsp结合XML+XSLT将输出转换为Html格式
  • JSP数据库连接池的必要性
  • 在JSP页面中实现检索数据的分页显示
  • 在jsp中作HTTP认证的方法
  • JSP通过JDBC与Oracle相连
  • html与jsp开发分离技术
  • 相关书籍:
  • JSP数据库开发实例精粹
  • JSP软件工程案例精解
  • JSP语法
  • JSP数据库编程指南
  • JSP由浅入深
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    JSP技术
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    WordPress专题
    其它
    电脑教程阅读排行
    ·几个常见的关于日期的问题
    ·WebLogic的初步研究(1)...
    ·WebLogic的初步研究(2)...
    ·新手入门经典:Jsp环境配置
    ·JSP动态输出Excel及中文乱...
    ·jsp基础学习资料
    ·MySQL实现分页JSP+JAV...
    ·jsp连接数据库大全
    ·Tomcat4.01全攻略
    ·JSP的安装、启动及简单示例