Java实现简单分页查询显示
来源:互联网 发布:python 字符串split 编辑:程序博客网 时间:2024/05/20 05:44
分页效果图:
实现思路:
数据访问层
传入每页想显示的数据,得到最大页数
// 获取最大页数public int getMaxPage(String username, int num) {int result = 0;// 查询结果int PageNum = 0;// 得到数据库连接Connection conn = DBConnection.getConnection();// 聚合查询得到需要显示的数据String sql = "select count(*) as count from book where user=? or user=?";try {// 预编译PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, "");ResultSet rs = ps.executeQuery();while (rs.next()) {result = rs.getInt("count");}// 防止算术异常if (num == 0) {PageNum = 1;return PageNum;}// 能够整除情况if (result % num == 0) {PageNum = result / num;} else {PageNum = result / num + 1;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return PageNum;}
传入要显示的页数以及每页记录数得到数据// 获取分页数据public List<Book> Limit(String username, int page, int num) {List<Book> list = new ArrayList<Book>();// 得到数据库连接Connection conn = DBConnection.getConnection();String sql = "select * from book where user=? or user=? limit ?,?";try {PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, "");ps.setInt(3, (page - 1) * num);// (查询页数-1)*每页记录数ps.setInt(4, num);// 查询得到结果集ResultSet rs = ps.executeQuery();while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");double price = rs.getDouble("price");String info = rs.getString("info");String img_url = rs.getString("img_url");String borrow_date = rs.getString("borrow_date");String user = rs.getString("user");Book book = new Book(id, name, price, info, img_url,borrow_date, user);list.add(book);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}
业务逻辑层
准备好方法:
// 分页得到共多少页public int getMaxPage(String username, int num) {return bdao.getMaxPage(username, num);}// 分页数据public List<Book> Limit(String username, int page, int num) {List<Book> list = new ArrayList<Book>();list = bdao.Limit(username, page, num);return list;}
控制层
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub// 得到登录的用户名HttpSession session = request.getSession();String username = session.getAttribute("username").toString();//分页每页记录数int num=3;//得到分页的最大页数,每页3条数据int PageNum=bservice.getMaxPage(username, num);//得到请求的页数int page=Integer.parseInt(request.getParameter("page"));//准备数据List<Book> list = bservice.Limit(username, page, num);request.setAttribute("booklist", list);request.setAttribute("PageNum", PageNum);request.setAttribute("page", page);// 转发request.getRequestDispatcher("WEB-INF/jsp/main.jsp").forward(request,response);}
视图层
<table width="700" border="1" align="center" cellpadding="1"cellspacing="0"><tr align="center" bgcolor="#CCFFFF"><td><a href="listbook.do?page=1">首页</a></td><!-- 显示第一页数据时,上页不可点击 --><c:choose><c:when test="${page ==1 }"><td>上页</td></c:when><c:otherwise><td><a href="listbook.do?page=${page-1 }"> 上页</a></td></c:otherwise></c:choose><!-- 显示最后一页数据时,下页不可点击 --><c:choose><c:when test="${page ==PageNum }"><td>下页</td></c:when><c:otherwise><td><a href="listbook.do?page=${page+1 }"> 下页</a></td></c:otherwise></c:choose><td><a href="listbook.do?page=${PageNum }">末页</a></td><td>跳转到第 <input name="page" type="text" id="page" size="1"value="${page }" /> 页 <input type="button" name="turn" id="button2"value="确定" onclick="turn(${PageNum})" /></td><td>${page }/${PageNum}页</td></tr></table><script type="text/javascript">function turn(maxpage) {var index = document.getElementById("page").value;/* 当输入页数为0或负数时,显示第一页 */if (index <= 0) {index = 1;}/* 当输入页数大于等于最后一页时,显示最后一页 */if(index>=maxpage){index=maxpage;}window.location.href = 'listbook.do?page=' + index;}</script>
登录成功后,默认显示第一页数据
// 转发到登录成功页面request.getRequestDispatcher("listbook.do?page=1").forward(request,response);
更多精彩内容欢迎微信扫码关注,非常感谢您的支持~
阅读全文
1 0
- Java实现简单分页查询显示
- java简单实现分页查询
- 数据库实现分页查询显示
- 实现Hibernate分页查询显示
- Java实现分页查询
- java web 分页查询、显示
- 分页查询的简单实现
- 简单分页查询实现原理
- SSH分页(Hibernate实现简单分页查询)
- SSH分页(Hibernate实现简单分页查询)
- SSH分页(Hibernate实现简单分页查询)
- struts2实现简单分页显示
- java+jsp实现分页查询
- Java实现MySQL分页查询
- Struts 中 实现查询结果分页显示
- Struts中实现查询结果分页显示
- SSI框架---实现查询结果分页显示
- 实现组合查询数据并分页显示
- 仿照VOC2007数据集格式制作自己的目标检测数据集
- R语言中的排序算法
- java开发环境配置
- 银联老SDK升级修改说明
- 【java 菜鸟实践<二>】采用PIO将图片存入指定的excel单元格中(支持excel2003和2007)
- Java实现简单分页查询显示
- fastboot工具的操作流程
- 松柏先生:占领顾客8大“心智暗门”,2018彻底甩开对手!
- iOS开发 ☞ 从零开始制作一个App有多少坑。
- Centos6.5上搭建FTP服务
- Kylin系列-Apache Kylin优化–高级设置:聚合组(Aggregation Group)原理解析
- ArcGIS:按数值提取栅格区域
- Android Studio 鼠标光标的切换
- WiredTiger存储引擎分析