Mybatis-PageHelpera是一个很好的第三方分页插件,支持很多数据库,几乎主流的数据库都支持
github地址:https://github.com/pagehelper/Mybatis-PageHelper
oschina地址:https://gitee.com/free/Mybatis_PageHelper
下面我们几尝试的使用一下这个分页插件吧
-
引入第三方jar
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0</version> </dependency>
-
在application.xml 写拦截配置
<bean id="demoSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--dataSource属性指定要用到的连接池--> <property name="dataSource" ref="dataSource"/> <!--configLocation属性指定mybatis的核心配置文件--> <property name="configLocation" value="classpath:configuration.xml"/> <property name="mapperLocations" value="classpath:com/yihaomen/mybatis/model/*.xml"/> <property name="typeAliasesPackage" value="com.yihaomen.mybatis.model" /> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <value> helperDialect=mysql reasonable=true supportMethodsArguments=true params=count=countSql autoRuntimeDialect=true </value> </property> </bean> </array> </property> </bean>
3.写controller层
@RequestMapping("/pageList") public ModelAndView pageUserList(ModelAndView mv, @RequestParam(required = true, defaultValue = "1") Integer pageNum, @RequestParam(required = true, defaultValue = "3") Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List<Article> list = articleService.getAllArticles(); PageInfo<Article> pageInfo = new PageInfo<Article>(list); mv.addObject("list", list); mv.addObject("page", pageInfo); mv.setViewName("list2"); return mv; }
4. 写页面list2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>article list</title> </head> <body> <c:forEach items="${list}" var="item"> ${item.id }--${item.title }--${item.content }<br /> </c:forEach> <br/> <a href="/user/pageList?pageNum=${page.prePage}">上一页</a> <a href="/user/pageList?pageNum=${page.nextPage}">下一页</a> </body> </html>