MySQL实现分页JSP+JAVABEAN实现

博客介绍了使用MySQL和JSP实现分页浏览的方法。关键是利用MySQL的limit命令,通过改变页码变量实现分页。先建立负责数据库连接和分页的Bean,再创建JSP页面,设置页面大小、计算页码,执行查询并显示结果,同时提供上下页链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键代码是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>

基于jsp+javabean+mysql三层结构的动态购物网站。网站用户接口(即界面)由jsp完成,数据和逻辑处理由beans完成,数据储存由mysql完成。因为beans独立负责处理整个网站的全部数据逻辑运算,所以整个网站的负载量和速度都将大大提高,所以基于这种语言和结构开发的购物系统的优势是其它语言没法比尔的。更重要的是,jsp+bean能够在Apache环境下顺畅地运行,这也是其最大优点之一。这就更进一步保证了网站的稳定性和安全性,而这些,对于一个购物网站来说是非常重要的!这个版本让大家期待已久了,主要做了以下一些修正:1.新增产品站内搜索引擎。2.新增人气商品排行。3.新增热评商品排行。4.新增重点推荐产品。5.删除不太需要的新闻频道。6.修正后台管理的一些Nullpointexception错误。7.新增顾客资料修改。8.新增顾客订单查询。9.新增后台超级用户和订单管理员管理,方便物流人员独立处理订单。10.完善了一些购物流程。本程序由“城市WebClub”独立自主开发,你可以对整个商城的版面甚至版权作任意修改,但传播本程序时,请保留本站的说明文件。因为开发一个系统真的很痛苦!由于时间和水平关系,本系统还有很多不足和错误的地方,欢迎大家试用并提出意见。安装====1。把myshop直接上传到你的jsp主机。2。把class里的文件上传到你的jsp主机的class目录。3。分别修改myshop下的config.jspclass/myshop下的config.java文件。4。把所有mysqldata文件倒入你的数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值