*******************************************分页查询开始*************************************************** /** * 多参传入的方法: * 1:多个不同类型的参数入参时,映射文件中可以不指定参数类型, * 接口中的方法使用注解,将注解指定的名字,传入映射文件相应属性中 * 2:也可以把多个参数封装成对象,以对象类型入参 * 分页查询 * @param from 从第几条开始查... * @param pagesize 每页显示的记录数 * @return 当前页对象的集合 */ public List<User> fenye(@Param("from")Integer from,@Param("pagesize")Integer pagesize);****************** <select id="fenye" resultType="entity.User"> SELECT * FROM users u INNER JOIN role r ON u.`roleid`=r.`roleid` LIMIT #{from} ,#{pagesize} </select>***************************** /** * 查询总记录数 */ public Integer count();****************** <select id="count" resultType="Integer"> SELECT count(*) FROM users </select>
***************************** protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); res.setContentType("text/html;charset=utf-8"); SqlSession session=MybatisUtil.getSession(); //获得mybatis的session对象 try { Integer pagesize=3; //每页显示的记录数 Integer page=null; //当前页 String pageQian=req.getParameter("page"); if(pageQian !=null){ page=Integer.parseInt(pageQian); }else{ page=1; //默认看第一页 } /* * 数据库查询总页数 */ Integer count=session.getMapper(UserMapper.class).count(); int totalyeshu=0; //总页数 if(count%pagesize==0){ totalyeshu=count/pagesize; }else{ totalyeshu=(count/pagesize)+1; } /* * 数据库查询当前页的数据 */ List<User> userList=session.getMapper(UserMapper.class).fenye((page-1)*pagesize, pagesize); /* * 将数传给前台 */ req.setAttribute("USERLIST", userList); //集合数据 req.setAttribute("PAGE", page); //当前页 req.setAttribute("COUNT", totalyeshu); //总页数 } catch (Exception e) { e.printStackTrace(); }finally{ MybatisUtil.closeSession(session); } req.getRequestDispatcher("indexFenye.jsp").forward(req, res); //转发至主页 }***************************** <div> <h3 algin="right"> < <span style="font-size:12px;">共${COUNT }页 / 第${PAGE}页 </span> <c:if test="${PAGE>1 }"> <a href="fenye?page=1">首页</a> <a href="fenye?page=${PAGE-1}">上页</a> </c:if> <c:forEach begin="1" end="${COUNT }" var="i"> <a href="fenye?page=${i}" >${i}</a> </c:forEach> <c:if test="${PAGE<COUNT }"> <a href="fenye?page=${PAGE+1}">下页</a> <a href="fenye?page=${COUNT}">尾页</a> </c:if> <span style="font-size:12px;">GO</span> <select id="goTo" οnchange="goPage(this.value)" > <c:forEach begin="1" end="${COUNT }" var="i" > <option value="${i }" ${i==PAGE?"selected='selected'":"" } >${i }</option> </c:forEach> </select> <span style="font-size:12px;">页</span> > </h3> <script> function goPage(page){ window.location.href="fenye?page="+page; } </script> </div>
*******************************************分页查询结束***************************************************
转载于:https://www.cnblogs.com/zhuhuibiao/p/9256732.html