分页查询信息eclipse+jdbc+mysql.docx

上传人:b****8 文档编号:10401464 上传时间:2023-02-10 格式:DOCX 页数:13 大小:58.63KB
下载 相关 举报
分页查询信息eclipse+jdbc+mysql.docx_第1页
第1页 / 共13页
分页查询信息eclipse+jdbc+mysql.docx_第2页
第2页 / 共13页
分页查询信息eclipse+jdbc+mysql.docx_第3页
第3页 / 共13页
分页查询信息eclipse+jdbc+mysql.docx_第4页
第4页 / 共13页
分页查询信息eclipse+jdbc+mysql.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

分页查询信息eclipse+jdbc+mysql.docx

《分页查询信息eclipse+jdbc+mysql.docx》由会员分享,可在线阅读,更多相关《分页查询信息eclipse+jdbc+mysql.docx(13页珍藏版)》请在冰豆网上搜索。

分页查询信息eclipse+jdbc+mysql.docx

分页查询信息eclipse+jdbc+mysql

分页查询信息eclipse+jdbc+mysql

分页查询信息

使用jdbc连接mysql数据库实现分页查询任务

通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上。

本项目时一个简单的运用eclipse+jdbc+mysql的小程序。

连接的数据库名称为db_database11,属性如下:

1.创建名为com.pmf.bean的包,包中是名为Product的类,用于封装商品信息。

全部代码如下:

packagecom.pmf.bean;

/**

*商品

*

*/

publicclassProduct{

publicstaticfinalintPAGE_SIZE=2;

//编号

privateintid;

//名称

privateStringname;

//价格

privatedoubleprice;

//数量

privateintnum;

//单位

privateStringunit;

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

*/

publicConnectiongetConnection(){

//数据库连接

Connectionconn=null;

try{

//加载数据库驱动,注册到驱动管理器

Class.forName("com.mysql.jdbc.Driver");

//数据库连接字符串

Stringurl="jdbc:

mysql:

//localhost:

3306/db_database11";

//数据库用户名

Stringusername="root";

//数据库密码

Stringpassword="123123";

//创建Connection连接

conn=DriverManager.getConnection(url,username,password);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

e.printStackTrace();

}

//返回数据库连接

returnconn;

}

/**

*分页查询所有商品信息

*@parampage页数

*@returnList

*/

publicListfind(intpage){

//创建List

Listlist=newArrayList();

//获取数据库连接

Connectionconn=getConnection();

//分页查询的SQL语句

Stringsql="select*fromtb_productorderbyiddesclimit?

?

";

try{

//获取PreparedStatement

PreparedStatementps=conn.prepareStatement(sql);

//对SQL语句中的第1个参数赋值

ps.setInt(1,(page-1)*Product.PAGE_SIZE);

//对SQL语句中的第2个参数赋值

ps.setInt(2,Product.PAGE_SIZE);

//执行查询操作

ResultSetrs=ps.executeQuery();

//光标向后移动,并判断是否有效

while(rs.next()){

//实例化Product

Productp=newProduct();

//对id属性赋值

p.setId(rs.getInt("id"));

//对name属性赋值

p.setName(rs.getString("name"));

//对num属性赋值

p.setNum(rs.getInt("num"));

//对price属性赋值

p.setPrice(rs.getDouble("price"));

//对unit属性赋值

p.setUnit(rs.getString("unit"));

//将Product添加到List集合中

list.add(p);

}

//关闭ResultSet

rs.close();

//关闭PreparedStatement

ps.close();

//关闭Connection

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

returnlist;

}

/**

*查询总记录数

*@return总记录数

*/

publicintfindCount(){

//总记录数

intcount=0;

//获取数据库连接

Connectionconn=getConnection();

//查询总记录数SQL语句

Stringsql="selectcount(*)fromtb_product";

try{

//创建Statement

Statementstmt=conn.createStatement();

//查询并获取ResultSet

ResultSetrs=stmt.executeQuery(sql);

//光标向后移动,并判断是否有效

if(rs.next()){

//对总记录数赋值

count=rs.getInt

(1);

}

//关闭ResultSet

rs.close();

//关闭Connection

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

//返回总记录数

returncount;

}

}

2.创建一个名为“FindServlet”的类位于com.pmf.servlet中。

此类是分页查询商品信息的Servlet对象。

在该类中写doGet()方法处理分页请求。

代码如下:

packagecom.pmf.servlet;

importjava.io.IOException;

importjava.util.List;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importcom.pmf.bean.Product;

importcom.pmf.bean.BookDao;

/**

*ServletimplementationclassFindServlet

*/

publicclassFindServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//当前页码

intcurrPage=1;

//判断传递页码是否有效

if(request.getParameter("page")!

=null){

//对当前页码赋值

currPage=Integer.parseInt(request.getParameter("page"));

}

//实例化ProductDao

BookDaodao=newBookDao();

//查询所有商品信息

Listlist=dao.find(currPage);

//将list放置到request之中

request.setAttribute("list",list);

//总页数

intpages;

//查询总记录数

intcount=dao.findCount();

//计算总页数

if(count%Product.PAGE_SIZE==0){

//对总页数赋值

pages=count/Product.PAGE_SIZE;

}else{

//对总页数赋值

pages=count/Product.PAGE_SIZE+1;

}

//实例化StringBuffer

StringBuffersb=newStringBuffer();

//通过循环构建分页条

for(inti=1;i<=pages;i++){

//判断是否为当前页

if(i==currPage){

//构建分页条

sb.append("『"+i+"』");

}else{

//构建分页条

sb.append("

page="+i+"'>"+i+"");

}

//构建分页条

sb.append(" ");

}

//将分页条的字符串放置到request之中

request.setAttribute("bar",sb.toString());

//转发到product_list.jsp页面

request.getRequestDispatcher("product_list.jsp").forward(request,response);

}

}

3.创建product_list.jsp页面,此页面通过获取查询结果List与分页条来分页显示商品的数据。

代码如下:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"

pageEncoding="UTF-8"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

<%@pageimport="java.util.List"%>

<%@pageimport="com.pmf.bean.Product"%>

所有商品信息

td{font-size:

12px;}

h2{margin:

0px}

所有商品信息

ID

商品名称

价格

数量

单位

<%

Listlist=(List)request.getAttribute("list");

for(Productp:

list){

%>

<%=p.getId()%>

<%=p.getName()%>

<%=p.getPrice()%>

<%=p.getNum()%>

<%=p.getUnit()%>

<%

}

%>

<%=request.getAttribute("bar")%>

4.编写程序中的主页index.jsp,在其中编写分页查询商品信息的超链接指向FindServlet.

代码如下:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"

pageEncoding="UTF-8"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

Inserttitlehere

查看所有商品信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1