宁波中软实习day8

分页实现(分层SSM项目)

昨天的项目实现了登陆的功能,今天在昨天的基础上实现查询分页的功能,主要使用到了PageHelper。简要说一下分页的实现步骤:

1.导入jar包

首先在项目的pom.xml文件中添加依赖,导入jar包。

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
</dependency>

2.配置MyBatis

告诉mybatis需要用到pagehelper,将配置文件添加到applicationContext.xml中的sqlsessionfactroybean。

<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>

3.ervice层实现查找所有用户

public List<UserInfo> findAllUser(int page, int size) {
    PageHelper.startPage(page,size);
    return iUserDao.findAllUser();
}

findAllUser需要在dao层中实现。

4.将查询结果装入到pageinfo中

在controller中实现获取结果。

@RequestMapping("/findAllUser.do")
public ModelAndView findAllUser(@RequestParam(defaultValue = "1")int page, @RequestParam(defaultValue = "2")int size){
    List<UserInfo> list = iUserService.findAllUser(page,size);
    PageInfo ps=new PageInfo(list);
    ModelAndView mv = new ModelAndView();
    mv.addObject("userinfos",ps);
    mv.setViewName("user-list");
    return mv;
}

5.jsp结果页面

aside.jsp:(提交参数给controller)

<li id="system-setting">
   <a
   href="${pageContext.request.contextPath}/user/findAllUser.do?page=1&size=2"> <i
      class="fa fa-circle-o"></i> 用户管理
</a>
</li>

user-list.jsp:(根据结果展示用户信息)

<c:forEach var="user" items="${userinfos.list}">
   <tr>
      <td><input name="ids" type="checkbox"></td>
      <td>${user.id}</td>
      <td>${user.username}</td>
      <td>${user.password}</td>
      <td class="text-center">
         <a href="#" class="btn bg-olive btn-xs">更新</a>
         <a href="#" class="btn bg-olive btn-xs">删除</a>
         <a href="#" class="btn bg-olive btn-xs">添加角色</a>
      </td>
   </tr>
</c:forEach>

user-list.jsp:(翻页实现)

<div class="box-tools pull-right">
   <ul class="pagination">
      <li><a href="${pageContext.request.contextPath}/user/findAllUser.do?page=1&size=2" aria-label="Previous">首页</a></li>
      <li><a href="${pageContext.request.contextPath}/user/findAllUser.do?page=${userinfos.pageNum-1}&size=2">上一页</a></li>
      <c:forEach begin="1" end= "${userinfos.pages}" var="pagenumber">
         <li><a href="${pageContext.request.contextPath}/user/findAllUser.do?page=${pagenumber}&size=2">${pagenumber}</a></li>
      </c:forEach>
      <li><a href="${pageContext.request.contextPath}/user/findAllUser.do?page=${userinfos.pageNum+1}&size=2">下一页</a></li>
      <li><a href="${pageContext.request.contextPath}/user/findAllUser.do?page=${userinfos.pages}&size=2" aria-label="Next">尾页</a></li>
   </ul>
</div>

pages指总页数,pageNum指当前页数。

6.最终结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值