首页 > 代码库 > springMVC手写分页查询
springMVC手写分页查询
package com.neuedu.java7.baen; public class Page { private int currentPage = 1; //当前页数 private int totalPages; //总页数 private int total; //记录总行数 private int pageSize = 5; //每页记录行数 private int nextPage; //下一页 private int prefPage; //前一页 public Page(){ } public Page(int currentPage, int pageSize) { this.currentPage = currentPage; this.pageSize = pageSize; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getTotalPages() { totalPages = total%pageSize == 0?total/pageSize:total/pageSize+1; return totalPages; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getNextPage() { if(currentPage<totalPages){ nextPage = currentPage+1; }else{ nextPage = currentPage; } return nextPage; } public int getPrefPage() { if(currentPage>1){ prefPage = currentPage-1; }else{ prefPage = currentPage; } return prefPage; } } //写方法 /** * 分页查询 * * @param pagger * @return */ public List<Category> findList(Page page); /** * 查询记录总数 * * @return */ public int findTotal(); //写Mapper方法 <select id="findTotal" resultType="int"> select count(t.id) t from category t </select> <select id="findList" parameterType="com.neuedu.java7.baen.Page" resultMap="CategoryMap"> select * from (select rownum rn, id,cname from category where rownum <= #{currentPage}*#{pageSize}) where rn >(#{currentPage}-1)*#{pageSize} </select> //写Action控制 @RequestMapping("/doAll") public String findAlls(HttpServletRequest request) { Page page = new Page(); int count = categoryService.findTotal(); page.setTotal(count); request.getSession().setAttribute("page", page); List<Category> category = categoryService.findList(page); request.getSession().setAttribute("category", category); return "list"; } @RequestMapping("/page") public String page(Integer pageSize,Integer currentPage,HttpServletRequest request){ Page page = null; if (request.getSession().getAttribute("page") !=null) { page = (Page) request.getSession().getAttribute("page"); }else { page = new Page(); } if (pageSize!=null) { page.setPageSize(pageSize); } if (currentPage!=null) { page.setCurrentPage(currentPage); } List<Category> category = categoryService.findList(page); request.setAttribute("category", category); return "list"; } //写页面编码 <tr> <td align="left" colspan="2">每页显示<select name="pageSize" id="pageSize" style="background-color: #FFFF33" onchange="toPage()"> <option value="http://www.mamicode.com/5" ${page.pageSize==5?"selected=‘selected‘":"" }>5</option> <option value="http://www.mamicode.com/10" ${page.pageSize==10?"selected=‘selected‘":"" }>10</option> <option value="http://www.mamicode.com/20" ${page.pageSize==20?"selected=‘selected‘":"" }>20</option> </select>条</td> <td align="right" colspan="3"><a href="http://www.mamicode.com/category/page.do?currentPage=1">[首页]</a> <a href="http://www.mamicode.com/category/page.do?currentPage=${page.prefPage }">前一页</a> <a href="http://www.mamicode.com/category/page.do?currentPage=${page.nextPage }">后一页</a> <a href="http://www.mamicode.com/category/page.do?currentPage=${page.totalPages }">[尾页]</a></td> </td> </tr>
springMVC手写分页查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。