SSM使用PageHelper

第一步---->导入Maven依赖

<!--pageHelper-->
<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.2.0</version>
</dependency>

第二步---->在spring-mapper.xml的SqlSessionFactory中加入一下代码

        <!-- 传入PageHelper的插件 -->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <props>
                            <prop key="helperDialect">mysql</prop>
                            <prop key="resonable">true</prop>
                        </props>
                    </property>
                </bean>
            </array>
        </property>

第三步---->配置实体类,serviceImp,Mapper等,查询全部分页

 1     
 2 /**   Mapper中写下page,size
 3      * 查询全部学生
 4      */
 5     List<Student> findAll(int page, int size);
 6 -----------------------------------------------------------------------------   
 7 /**
 8   *在xxxServiceImpl中写下   PageHelper.startPage(page,size);
 9 */
10  @Override
11     public List<Student> findAll(int page,int size) {
12         PageHelper.startPage(page,size);
13         return studentMapper.findAll(page, size);
14     }

第四步---->编写Controller层

 1 /**
 2      * 查询所有学生
 3     @RequestParam(name="page",required = true,defaultValue = "1")int page,(page:第几页)
 4     @RequestParam(name="size",required = true,defaultValue = "5")int size  (size:几条数据)
     
5 * @param 6 * @return 7 */ 8 @RequestMapping("/findAll") 9 public ModelAndView list(@RequestParam(name="page",required = true,defaultValue = "1")int page, 10 @RequestParam(name="size",required = true,defaultValue = "5")int size ){ 11 ModelAndView mv = new ModelAndView(); 12 List<Student> all = studentService.findAll(page, size); 13 //PageInfo就是一个分页Bean 14 PageInfo pageInfo =new PageInfo(all); 15 mv.addObject("pageInfo", pageInfo); 16 mv.setViewName("student/findStudentAll");//指定跳转的页面 17 return mv; 18 }

 

第五步---->编写JSP页面

 1 <c:forEach var="student" items="${pageInfo.list}">//pageInfo是controller层存入mv中的数据,
 2                     <tr>
 3                         <td>${student.SId}</td>
 4                         <td>${student.SName}</td>
 5                         <td>${student.SBirth}</td>
 6                         <td>${student.SSex}</td>
 7                         <td>
 8                             <a href="${pageContext.request.contextPath}/toUpdateStudent?id=${student.getSId()}">更改</a> |
 9                             <a href="${pageContext.request.contextPath}/del/${student.getSId()}">删除</a>
10                         </td>
11                     </tr>
12                 </c:forEach>
13                 <ul class="pagination">
14                     <li><a href="${pageContext.request.contextPath}/findAll?page=1&size=5" aria-label="Previous">首页</a></li>
15                     <li><a href="${pageContext.request.contextPath}/findAll?page=${pageInfo.pageNum-1}&size=5">上一页</a></li>
16                     <c:forEach begin="1" end="${pageInfo.pages}" var="pageNumber">
17                         <li><a href="${pageContext.request.contextPath}/findAll?page=${pageNumber}&size=5">${pageNumber}</a></li>
18                     </c:forEach>
19                     <li><a href="${pageContext.request.contextPath}/findAll?page=${pageInfo.pageNum+1}&size=5">下一页</a></li>
20                     <li><a href="${pageContext.request.contextPath}/findAll?page=${pageInfo.pages}&size=5" aria-label="Next">尾页</a></li>
21                 </ul>

就这样SSMPageHelper结束!!!!

 

posted @ 2022-05-06 10:04  别遇见  阅读(105)  评论(0)    收藏  举报