Springboot +pagehelper 分页插件

一.前言

上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper。在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能。(新手的话按照我这个就可以实现分页,如果项目中有设置SqlSessionFactoryBean,请注意下面的东西用该放到SqlSessionFactoryBean 配置里面)

二.实现

pom.xml文件中添加依赖包

[html] view plain copy
print ?
  1. <dependency>  
  2.     <groupId>com.github.pagehelpergroupId>  
  3.     <artifactId>pagehelperartifactId>  
  4.     <version>4.1.0version>  
  5. dependency>  
      
            com.github.pagehelper
            pagehelper
            4.1.0
        

创建MybatisConf类

[html] view plain copy
print ?
  1. package com.woniu.mybatisconf;  
  2.   
  3. import java.util.Properties;  
  4.   
  5. import org.springframework.context.annotation.Bean;  
  6. import org.springframework.context.annotation.Configuration;  
  7.   
  8. import com.github.pagehelper.PageHelper;  
  9.   
  10. /*  
  11.  * 注册MyBatis分页插件PageHelper  
  12.  */  
  13.   
  14. @Configuration  
  15. public class MybatisConf {  
  16.         @Bean  
  17.         public PageHelper pageHelper() {  
  18.            System.out.println(“MyBatisConfiguration.pageHelper()”);  
  19.             PageHelper pageHelper = new PageHelper();  
  20.             Properties p = new Properties();  
  21.             p.setProperty(“offsetAsPageNum”, “true”);  
  22.             p.setProperty(“rowBoundsWithCount”, “true”);  
  23.             p.setProperty(“reasonable”, “true”);  
  24.             pageHelper.setProperties(p);  
  25.             return pageHelper;  
  26.         }  
  27. }  
package com.woniu.mybatisconf;

import java.util.Properties;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.github.pagehelper.PageHelper;

/*
 * 注册MyBatis分页插件PageHelper
 */

@Configuration
public class MybatisConf {
        @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;
        }
}

这时就可以使用PageHelp插件了,在controller中直接使用。

[html] view plain copy
print ?
  1. package com.woniu.controller;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.springframework.beans.factory.annotation.Autowired;  
  6. import org.springframework.web.bind.annotation.RequestMapping;  
  7. import org.springframework.web.bind.annotation.RestController;  
  8.   
  9. import com.github.pagehelper.PageHelper;  
  10. import com.woniu.bean.User;  
  11. import com.woniu.mapper.UserMaper;  
  12.   
  13. @RestController  
  14. @RequestMapping(“/web”)  
  15. public class WebController {  
  16.     @Autowired  
  17.     private UserMaper mapper;  
  18.       
  19.       
  20.     @RequestMapping(“/index”)  
  21.     public List<User> selectAge(int age){  
  22.         /*  
  23.          * 第一个参数是第几页;第二个参数是每页显示条数。  
  24.          */  
  25.         PageHelper.startPage(1,2);  
  26.         return mapper.Select(age);  
  27.     }  
  28. }  
package com.woniu.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.github.pagehelper.PageHelper;
import com.woniu.bean.User;
import com.woniu.mapper.UserMaper;

@RestController
@RequestMapping("/web")
public class WebController {
    @Autowired
    private UserMaper mapper;
    
    
    @RequestMapping("/index")
    public List selectAge(int age){
        /*
         * 第一个参数是第几页;第二个参数是每页显示条数。
         */
        PageHelper.startPage(1,2);
        return mapper.Select(age);
    }
}

你可能感兴趣的:(java应用)