(六)ssm分页实现

1.在pom.xml导入jar包

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

2.在applicationContext.xml配置pagehelper插件

	<property name="plugins">
	    <array>
	        <bean class="com.github.pagehelper.PageInterceptor">
	            <property name="properties">
	                <props>
	                    <prop key="helperDialect">mysql</prop>
	                    <prop key="reasonable">true</prop>
	                </props>
	            </property>
	        </bean>
	    </array>
	</property>

3.IUserInfoService.java添加findAll接口

	List<UserInfo> findAll(int page,int size);

4.UserInfoServiceImpl.java实现findAll

	@Override
	public List<UserInfo> findAll(int page,int size) {
	    PageHelper.startPage(page,size);
	    return userInfoDao.findAll();
	}

5.IUserInfoDao.java添加接口

	List<UserInfo> findAll();

6.UserInfoMapper.xml

    <select id="findAll" resultType="UserInfo">
        select * from userinfo
    </select>

7.UserInfoController.java使用分页显示用户数据

    /**
     * 
     * @param page 页面     默认在第一页
     * @param size 数据条数 默认为条数据
     * @return
     */
    @RequestMapping("findAll.do")
    public ModelAndView findAll(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "5") int size) {
        List<UserInfo> users = userInfoService.findAll(page,size);
        PageInfo pageInfo=new PageInfo(users);
        ModelAndView mv = new ModelAndView();
        mv.addObject("pageInfo", pageInfo);
        mv.setViewName("user-list");
        return mv;
    }

8.user-list.jsp
用户数据列表:

    <c:forEach var="user" items="${pageInfo.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="${pageContext.request.contextPath}/user/toUpdate.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
				<a href="${pageContext.request.contextPath}/user/delete.do?id=${user.id}" class="btn bg-olive btn-xs">删除</a>
				<a href="#" class="btn bg-olive btn-xs">添加角色</a>
			</td>
		</tr>
	</c:forEach>

分页:

参数名称 意义
pageInfo.pageNum 当前页
pageInfo.pageNum-1 上一页
pageInfo.pageNum+1 下一页
pageInfo.pages 总计页数

	<ul class="pagination">
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum-1}&size=5">上一页</a></li>
		<c:forEach begin="1" end="${pageInfo.pages}" var="pageNumber">
			<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageNumber}&size=5">${pageNumber}</a></li>
		</c:forEach>
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum+1}&size=5">下一页</a></li>
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pages}&size=5" aria-label="Next">尾页</a></li>
	</ul>

效果图:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值