我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何用jsp+mysql实现网页的分页查询

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何用jsp+mysql实现网页的分页查询

本篇内容介绍了“如何用jsp+mysql实现网页的分页查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、实现分页查询的核心sql语句

(1)查询数据库的记录总数的sql语句:

select count(*) from +(表名);

(2)每次查询的记录数的sql语句:

其中:0是搜索的索引,2是每次查找的条数。

select * from 表名 limit 0,2;

二、代码实现

*上篇写过这两个类 , DBconnection类:用于获取数据库连接,Author对象类。这两个类的代码点击连接查看。点击链接查看 DBconnection类和Author对象类

(1)登录页面:index.jsp。

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>Insert title here</title></head><body>    <a href="AuthorListPageServlet">用户列表分页查询</a></body></html>

(2)显示页面:userlistpage.jsp。

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html><html><head><meta charset="utf-8"><title>查询页面</title></head><body><table border="1">  <tr>    <td>编号</td>    <td>名称</td>    <td>价格</td>    <td>数量</td>    <td>日期</td>    <td>风格</td>  </tr>  <c:forEach items="${pageBean.list}" var="author">  <tr>    <td>${author.id}</td>    <td>${author.name }</td>    <td>${author.price }</td>    <td>${author.num }</td>    <td>${author.dates}</td>    <td>${author.style}</td>  </tr>  </c:forEach></table><c:if test="${ pageBean.record>0}"><div>            <c:if test="${pageBean.currentPage <= 1}">      <span>首页</span>      <span>上一页</span>      <a href ="AuthorListPageServlet?currPage=${pageBean.currentPage + 1 }">下一页</a>      <a href ="AuthorListPageServlet?currPage=${pageBean.totalPage }">尾页</a>      </c:if>            <c:if test="${pageBean.currentPage > 1 && pageBean.currentPage < pageBean.totalPage  }">       <a href ="AuthorListPageServlet?currPage=1">首页</a>      <a href ="AuthorListPageServlet?currPage=${pageBean.currentPage - 1 }">上一页</a>      <a href ="AuthorListPageServlet?currPage=${pageBean.currentPage + 1 }">下一页</a>      <a href ="AuthorListPageServlet?currPage=${pageBean.totalPage }">尾页</a>      </c:if>          <c:if test="${ pageBean.currentPage >= pageBean.totalPage}">      <a href ="AuthorListPageServlet?currPage=1">首页</a>      <a href ="AuthorListPageServlet?currPage=${pageBean.currentPage - 1 }">上一页</a>     <span>下一页</span>     <span>尾页</span>     </c:if></div></c:if></body></html>

(3)功能实现:AuthorDao.java。

package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.entity.Author;public class AuthorDao {         public  Author check(String username ,int  password ) {                  Author obj = null ;         try {            DBConnection db = new DBConnection();            //获取数据库连接            Connection conn = db.getConn();                        String sql="select *from furnitures where name = ? and id = ?";                        PreparedStatement ps=conn.prepareStatement(sql);            //设置用户名和密码作为参数放入sql语句            ps.setString(1,username);            ps.setInt(2,password);            //执行查询语句            ResultSet rs = ps.executeQuery();            //用户名和密码正确,查到数据  欧式风格  茶几            if(rs.next()) {                obj = new Author();                obj.setId(rs.getInt(1));                obj.setName(rs.getString(2));                obj.setPrice(rs.getInt(3));                obj.setNum(rs.getInt(4));                obj.setDates(rs.getString(5));                obj.setStyle(rs.getString(6));            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }         return obj;     }          public List<Author> queryAuthorList(){         Author obj = null ;         List<Author> list = new ArrayList<Author>();         try {            DBConnection db = new DBConnection();            //获取数据库连接            Connection conn = db.getConn();                        String sql="select *from furnitures";                        PreparedStatement ps=conn.prepareStatement(sql);                //执行查询语句            ResultSet rs = ps.executeQuery();            //用户名和密码正确,查到数据  欧式风格  茶几            //循环遍历获取用户信息            while(rs.next()) {                                obj = new Author();                obj.setId(rs.getInt(1));                obj.setName(rs.getString(2));                obj.setPrice(rs.getInt(3));                obj.setNum(rs.getInt(4));                obj.setDates(rs.getString(5));                obj.setStyle(rs.getString(6));                //将对象加入list里边                list.add(obj);            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }         return list;     }                    public int queryUserListCount() {         DBConnection db;        try {             db = new DBConnection();             Connection conn = db.getConn();             String sql = "select count(*) from furnitures";                          PreparedStatement ps = conn.prepareStatement(sql);             ResultSet rs = ps.executeQuery();                                       if(rs.next()) {                 return rs.getInt(1);             }                                  } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                 return 0;     }          public List<Author>queryUserListPage(int pageIndex,int pageSize){                  Author obj = null;         List<Author> list = new ArrayList<Author>();                  try {            Connection conn = new DBConnection().getConn();            String sql = "select * from furnitures limit ?,?;";            PreparedStatement ps = conn.prepareStatement(sql);            ps.setObject(1, pageIndex);            ps.setObject(2,pageSize);                        ResultSet rs = ps.executeQuery();            //遍历结果集获取用户列表数据                        while(rs.next()) {                obj = new Author();                                obj.setId(rs.getInt(1));                obj.setName(rs.getString(2));                obj.setPrice(rs.getInt(3));                obj.setNum(rs.getInt(4));                obj.setDates(rs.getString(5));                obj.setStyle(rs.getString(6));                                list.add(obj);            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }         return list;     }          public void add(Author obj) {                try {                        DBConnection db = new DBConnection();            //获取数据库连接            Connection conn = db.getConn();                        String sql="insert into furnitures values(id,?,?,?,?,?)";                        PreparedStatement ps=conn.prepareStatement(sql);            ps.setObject(1, obj.getName());            ps.setObject(2, obj.getPrice());            ps.setObject(3, obj.getNum());            ps.setObject(4,obj.getDates());            ps.setObject(5, obj.getStyle());                        //执行sql语句           ps.execute();                               } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                 }     //删除用户     public void del(int id) {         try {                                DBConnection db = new DBConnection();                //获取数据库连接                Connection conn = db.getConn();                                String sql="delete from furnitures where id = ?";                                PreparedStatement ps=conn.prepareStatement(sql);                                ps.setObject(1, id);                                //执行sql语句               ps.execute();                                           } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }                     }    }

(4)交互层:AuthorListPageServlet.java。

package com.servlet;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.dao.AuthorDao;import com.entity.Author;import com.util.PageBean;@WebServlet("/AuthorListPageServlet")public class AuthorListPageServlet extends HttpServlet {    private static final long serialVersionUID = 1L;               public AuthorListPageServlet() {        super();        // TODO Auto-generated constructor stub    }        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        int pageSize = 2;        AuthorDao ad = new AuthorDao();        //总记录数        int record = ad.queryUserListCount();        //接收页面传入的页码        String strPage = request.getParameter("currPage");        int currPage = 1;//默认第一页        if(strPage != null) {            currPage = Integer.parseInt(strPage);            }                PageBean<Author> pb = new PageBean<Author>(currPage,pageSize,record);        //查询某一页的结果集        List<Author> list = ad.queryUserListPage(pb.getPageIndex(), pageSize);        pb.setList(list);        request.setAttribute("pageBean", pb);        request.getRequestDispatcher("userlistpage.jsp").forward(request, response);    }        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}

(5)工具类:PageBean.java。作用是:获取结果集。

package com.util;import java.util.List;public class PageBean<T>{    private int currentPage;//当前页码    private int pageIndex;//数据起始索引    private int pageSize;//每页条数            private int record;//总记录数    private int totalPage;//总页数        private List<T>list;//每页显示的结果集        public PageBean(int currentPage,int pageSize,int record) {                this.currentPage = currentPage;        this.pageSize = pageSize;        this.record = record;                //总页数        if(record % pageSize == 0) {            //整除,没有多余的页            this.totalPage = record / pageSize;                    }        else {            //有多余的数据,在增加一页            this.totalPage = record / pageSize + 1;        }                //计算数据起始索引pageIndex        if(currentPage < 1) {            this.currentPage = 1;        }        else if(currentPage > this.totalPage) {            this.currentPage = this.totalPage;        }        this.pageIndex = (this.currentPage -1)*this.pageSize;    }        public int getCurrentPage() {        return currentPage;    }    public void setCurrentPage(int currentPage) {        this.currentPage = currentPage;    }    public int getPageIndex() {        return pageIndex;    }    public void setPageIndex(int pageIndex) {        this.pageIndex = pageIndex;    }    public int getPageSize() {        return pageSize;    }    public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }    public int getRecord() {        return record;    }    public void setRecord(int record) {        this.record = record;    }    public int getTotalPage() {        return totalPage;    }    public void setTotalPage(int totalPage) {        this.totalPage = totalPage;    }    public List<T> getList() {        return list;    }    public void setList(List<T> list) {        this.list = list;    }    }

三、运行结果

(1)首页:

如何用jsp+mysql实现网页的分页查询

(2)中间页:

如何用jsp+mysql实现网页的分页查询

(3)尾页:

如何用jsp+mysql实现网页的分页查询

“如何用jsp+mysql实现网页的分页查询”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何用jsp+mysql实现网页的分页查询

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何用jsp+mysql实现网页的分页查询

本篇内容介绍了“如何用jsp+mysql实现网页的分页查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实现分页查询的核心sql语句(1
2023-06-29

MySQL中如何实现分页查询

在MySQL中,可以使用LIMIT关键字来实现分页查询。LIMIT关键字用于限制查询结果返回的行数,并可以指定起始行的偏移量。语法如下:SELECT column1, column2, ...FROM table_nameLIMIT
MySQL中如何实现分页查询
2024-04-30

ajax如何实现分页和分页查询

这篇文章将为大家详细讲解有关ajax如何实现分页和分页查询,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先为了页面的整齐与美观,我用到了bootstrap,需要引进所需要的文件包2023-06-08

mysql如何分页查询

mysql 分页查询如何进行分页查询?MySQL 分页查询可以通过 LIMIT 和 OFFSET 子句实现。LIMIT 子句指定返回的结果集中的记录数,而 OFFSET 子句指定从结果集开头跳过的记录数。语法:SELECT * FR
mysql如何分页查询
2024-06-15

golang如何实现查询分页

这篇文章主要介绍“golang如何实现查询分页”,在日常操作中,相信很多人在golang如何实现查询分页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”golang如何实现查询分页”的疑惑有所帮助!接下来,请跟
2023-07-05

ssm如何实现分页查询

这篇文章主要介绍ssm如何实现分页查询,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ssm整合实现分页查询一、通过limit查询语句实现分页,并展示1.mapper.xml配置