SSM框架数据分页显示实例

今天给实验项目一些数据做了个分页显示,在此记录笔记,留待日后查看(新手编程,若有错误,希望各位及时指正,感激不尽)

1、首先导入相关Pagehelper分页插件jar包,Idea中导入依赖如下

<!--Pagehelper分页插件-->
  <dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
  </dependency>

2、前端就是简单的请求链接如下

<li id="12">
    <a
       href="${pageContext.request.contextPath}/application/student?sid=${session.sid}"> 
       <i class="fa fa-circle-o"></i> 已申请职位
    </a>
</li>

前端页面底部用于控制上一页下一页的代码如下(注意上下请求路径需保持一致)

<%--分页页码--%>
            <!-- .box-footer-->
     <div class="box-footer">
          <ul class="pagination">
               <li><a href="${pageContext.request.contextPath}/application/student?sid=${session.sid}" aria-label="Previous">首页</a></li>
               <li><a href="${pageContext.request.contextPath}/application/student?sid=${session.sid}&page=${pageInfo.pageNum-1}&size=8">上一页</a></li>
               <c:forEach begin="1" end="${pageInfo.pages}" var="pageNumber">
                  <li><a href="${pageContext.request.contextPath}/application/student?sid=${session.sid}&page=${pageNumber}&size=8">${pageNumber}</a></li>
               </c:forEach>
               <li><a href="${pageContext.request.contextPath}/application/student?sid=${session.sid}&page=${pageInfo.pageNum+1}&size=8">下一页</a></li>
               <li><a href="${pageContext.request.contextPath}/application/student?sid=${session.sid}&page=${pageInfo.pages}&size=8" aria-label="Next">尾页</a></li>
          </ul>

       </div>

3、controller层相关方法上设置形参page与size,并设置默认值

@RequestMapping("/student")
    public String student(@RequestParam(name="page",required = true,defaultValue = "1") int page,
                          @RequestParam(name="size",required = true,defaultValue = "8")int size,
                          Model model,int sid){
        System.err.println(sid);
        /*用集合,因为返回的不止一个*/
        List<Application> list = applicationService.findApplicationBySid(page,size,sid);
        PageInfo pageInfo=new PageInfo(list);
        model.addAttribute("pageInfo", pageInfo);
        System.err.println("我要返回了");
        return "application_to_student";
    }

4、service层相关代码如下

接口:

/*返回的是集合,要用List*/
    List<Application> findApplicationBySid(int page, int size, int sid);

实现类:(实现类调用之前记得应用PageHelper分页插件的startPage方法)

@Override
    public List<Application> findApplicationBySid(int page, int size, int sid) {
        PageHelper.startPage(page,size);
        return applicationDao.findApplicationBySid(page,size,sid);
    }

5、Dao层相关代码如下

接口:这里要记得,多个参数传数据库时(如此例多个参数,且需要引用sid的值来查找)要用@Param注解一下,这样xml里才能识别到

/*由于要依靠sid值进行xml中sql语句的查值,这里又是多个参数,所以要@Param一下*/
    List<Application> findApplicationBySid(int page, int size, @Param("sid")int sid);

xml文件:

 <!--查找已投递简历的职位,注意select id=后面分号里不能有空格-->
    <select id="findApplicationBySid" resultType="Application" >
        SELECT uname,jobName,status,date from ssmbuild.application where sid=#{sid}
    </select>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容