`

149. Spring Boot MyBatis升级篇-XML-分页查询

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

需求缘起:

       在上一篇博客中,我们介绍了MyBatis的增删改查,对于查询的话,我们查询出了全部数据,在实际中我们可能需要分页查询,一次查询出10条数据进行展示,然后用户点击下一页的时候,展示下一页的数据。在这里我们主要使用了一个插件PageHelper。先看下本节的大纲:

本节大纲:

(1)集成原理说明
(2)PageHelper介绍
(3)集成准备
(4)配置文件编写
(5)编码测试

 

       接下来看看具体的内容:

1)集成原理说明

MyBatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到SqlSessionFactory中。

 

2PageHelper介绍

PageHelperGithub上有位开发者写了一个分页插件,可以很方便的添加到MyBatis的拦截器接口中。

       Github项目地址: https://github.com/pagehelper/Mybatis-PageHelper

 

3)集成准备

       集成PageHelper很简单,只需要在pom.xml文件中添加如下依赖:

 

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

 

 

4)配置文件编写

       我们需要新增一个配置文件:

新增MyBatisConfiguration.java

 

package com.kfit.config;
import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
 
/**
 * mybatis配置类.
 * @author Angel --守护天使
 * @version v.0.1
 * @date 2017年7月22日
 */
@Configuration
public class MyBatisConfiguration {
   
    /**
     * 注册MyBatis分页插件PageHelper
     * @return
     */
    @Bean
    public PageHelper pageHelper() {
       System.out.println("MyBatisConfiguration.pageHelper()");
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}
 

 

 

5)编码测试

这个使用起来特别的简单,只是在原来查询全部的代码之前加入一句:

PageHelper.startPage(1,2);

 

第一个参数是第几页;第二个参数是每页显示条数。

       具体的代码示例如下:

@RequestMapping("/selectAll")
public List<Demo> selectAll(@RequestParam(defaultValue="1")int pageNum){
       PageHelper.startPage(pageNum, 2);
       return demoService.selectAll();
}

 

访问http://127.0.0.1:8080/selectAll?pageNum=2进行测试。

 

视频&交流平台

à SpringBoot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics