在写毕设的时候因为需要实现分页查询,搜了好久,但是都比较糊,要不就是哪里不合适,时间太
赶也没时间好好琢磨,弄了很久终于找到一个比较好用且清晰的办法;
POM.xml添加依赖
首先就是添加依赖,这两个我也不知道是哪个起作用了,不过可以都加一下
applicationContext.xml
然后就是在applicationContext.xml里加
我当时依赖弄了很久,前面一直不实现,加了这段以后就没事了
mybatis
这是mybatis里的
springMvc
这个和applicationContext的一样,我当时加在了springMvc里,合理怀疑是这一段加错位置了,这段可以试试看不加进去,或许可以
然后重新加载一下Maven就可以开始写代码了
Service层
pagenum是搜寻的当前页码,pagesize就是每页放的行数,一定记得这三行不要动顺序,也不要在里面插其他代码,否则很可能导致分页失败;
这里的解释是:①开启分页;②查询user表;③按分页查询分配;
实体类我就不写了,反正应该都会;
dao
接下来就是查询语句,我是直接用的注解,没有另外建mapper不过也差不多,自己稍微代换一下,这边反正就是直接查询;
Controller层
最前面一个if忘记删了,可以不要;
这边就是直接把页码放进命名里,方便前台查询,因为我前面用其他的一个劲报错;这边就是声明每页几行然后查询,再把结果放进视图,返回视图,后台到这里就全部写完了;
jsp
前台就是这样子,一开始跳转链接老报错,后面试了一下是路径的问题,把
pageUserInfo/${pageInfo.prePage}最前面加上../就可以了
<table> <tr> <td>用户编号</td> <td>用户姓名</td> <td>密码</td> <td>操作</td> </tr> <c:forEach items="${pageInfo.list }" var="user"> <tr> <td>${user.uid }</td> <td>${user.uname }</td> <td>${user.urealname }</td> <td><a href="/ssm_select/user/delUser?id=${user.uid }">删除</a> <a href="/ssm_select/user/renewalUser?id=${user.uid }">更新</a></td> </tr> </c:forEach> <tr> <td colspan="7" align="center"> 共${pageInfo.total }条记录,共${pageInfo.pages }页 当前第${pageInfo.pageNum }页,每页显示${pageInfo.pageSize }条 <a href="javascript:btn(1);">首页</a> <c:if test="${pageInfo.hasPreviousPage==true }"> <a href="../pageUserInfo/${pageInfo.prePage}">上一页</a> </c:if> <c:if test="${pageInfo.hasPreviousPage!=true }"> <a>上一页</a> </c:if> <c:if test="${pageInfo.hasNextPage==true }"> <a href="../pageUserInfo/${pageInfo.nextPage}">下一页</a> </c:if> <c:if test="${pageInfo.hasNextPage!=true }"> <a>下一页</a> </c:if> <a href="../pageUserInfo/${pageInfo.pages}">末页</a> </td> </tr> </table>