分页插件--pagehelper
PageHelper 是国内非常优秀的一款开源的 mybatis 分页插件,它支持基本主流与常用的数据库,例如 mysql、 oracle、mariaDB、DB2、SQLite、Hsqldb 等。
网址:https://pagehelper.github.io/ 本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper 本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper
1.在 pom.xml 中添加如下依赖:
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> </dependency>
在 MyBatis 配置 xml 中配置拦截器插件 (dao层,配置在sqlSessionFactory里)
<!-- plugins 在配置文件中的位置必须符合要求,否则会报错,顺序如下: properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers? --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 --> <property name="properties"> <value> helperDialect=mysql reasonable=true </value> </property> </bean> </array> </property>
3.配置service
service接口/** * 查询所有部门,带分页(用的pageHelper) * @return */PageInfo findAll(int page, int size);
service实现类
public PageInfo findAll(int page, int size) { //1.设置分页信息,使用PageHelper的静态方法 PageHelper.startPage(page,size); //2.调用deptDao的查询所有方法 List<Company> companies = companyDao.findAll(); //3.创建返回值并返回 return new PageInfo(companies);}
4。配置controller的方法
@Autowiredprivate CompanyService companyService;/** * 查询所有 * @return */@RequestMapping("/list")public String list(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "2") int size){ //1.调用service查询 // List<Company> companyList = companyService.findAll(); PageInfo pageInfo = companyService.findAll(page, size); //2.存入请求域中 // request.setAttribute("list",companyList); request.setAttribute("page",pageInfo); //3.转发到列表页面 return "company/company-list";}
前端页面
<div class="box-footer">
<jsp:include page="../common/page.jsp">
<jsp:param value="${ctx}/company/list.do" name="pageUrl"/>
</jsp:include>
</div>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。