SSM实现分页功能

使用MyBatis分页插件PageHelper

1、在pom.xml中添加依赖,把PageHelp的jar包导到项目中

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

2、在Mybatis的配置文件中配置拦截器插件,注意要配置在sqlSessionFactory对象中

<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、在Controller中实现

@RequestMapping(path = "/Example")
public String Example(Model model,@RequestParam(required = true, defaultValue = "1") int page, @RequestParam(defaultValue = "5") int size) {
    PageHelper.startPage(page, size);
    List<User> users = userService.findAllUser();
    PageInfo<User> pageInfo = new PageInfo<>(users);
    model.addAttribute("users", pageInfo);
    return "example";
}

4、前端页面

注意:forEach取Model里的值时,要在变量名的后面加上.list,例如我在Model里存的名字是users,在前端取值的时候,写成${users.list}

<c:forEach items="${users.list}" var="users">
    <div>
        ${users.user_name}
    </div>
</c:forEach>

<div>
    <a href="${pageContext.request.contextPath}/Example?page=${users.pageNum-1}">
        上一页
    </a>
    <a href="${pageContext.request.contextPath}/Example?page=${users.pageNum+1}">
        下一页
    </a>
</div>


版权声明:本文为weixin_43493397原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。